【发布时间】:2014-08-12 01:45:11
【问题描述】:
我在获取以下代码以正确添加 SqlCommand 参数 @vendor 时遇到问题。由于某种原因,正在传递的查询似乎总是:
select TOP 500 *
from [mike_db].[dbo].[na_pe_sql_import]
where vendname like '%@vendor%';
如果我像这样设置查询,它会起作用,但我知道这是不好的做法。:
string strQuery = "select TOP 500 * from [mike_db].[dbo].[na_pe_sql_import] where vendname like '%"+txt_search.Text.ToString()+"%';";
代码如下:
protected void Search_Click(object sender, EventArgs e)
{
string search = txt_search.Text.ToString();
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["mike_db"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
con.Open();
string strQuery = "select TOP 500 * from [mike_db].[dbo].[na_pe_sql_import] where vendname like '%@vendor%';";
cmd = new SqlCommand(strQuery, con);
cmd.Parameters.AddWithValue("vendor", search);
txt_search.Text = string.Empty;
DataSet ds = new DataSet();
da = new SqlDataAdapter(cmd);
da.Fill(ds);
My_Repeater.DataSource = ds;
My_Repeater.DataBind();
con.Close();
}
【问题讨论】:
-
..addwithvalue("@vendor",search);??
-
我实际上首先尝试了@vendor,但无法让它工作。这个例子让我想尝试不使用@ - nullskull.com/faq/979/…
-
问题已解答,谢谢帮助!
标签: c# asp.net parameters sqlcommand