gpt4 book ai didi

c# - 如何在查询中传递字符串

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:32 26 4
gpt4 key购买 nike

我必须在查询中传递一个字符串值...这是我的代码

 string a = ConfigurationManager.AppSettings["var"];
SqlDataAdapter da = new SqlDataAdapter("select codesnippet from edk_custombrsnippet_vw where partnerid = 'a'", con);
DataTable dt = new DataTable();
da.Fill(dt);

我得到了字符串 a 中的值..但我不知道如何在该查询中传递该字符串..有什么建议吗?

最佳答案

使用参数化查询,例如:

string a = ConfigurationManager.AppSettings["var"];
SqlDataAdapter da = new SqlDataAdapter(
"select codesnippet from edk_custombrsnippet_vw where partnerid = @PartnerID",
con);
da.SelectCommand.Parameters.AddWithValue("@PartnerId", a);
DataTable dt = new DataTable();
da.Fill(dt);

您应该将字符串值嵌入到 SQL 本身中 - 这会使您容易受到 SQL 注入(inject)攻击。不可否认,在这种情况下,它不是用户提供的值,但最好不要直接包含它。

编辑:我从 this MSDN page 改编了这个例子但似乎 SqlDataAdapter据我所知,实际上没有 Parameters 属性。因此,我对其进行了调整,以使用 SqlDataAdapter.SelectCommand.Parameters,我希望可以正常工作...但您可能需要稍微调整一下。

关于c# - 如何在查询中传递字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4322941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com