我正在尝试基于用户变量(使用ASP.NET和C#)查询SQL Server数据库表。我希望能够从“废品申请信息”表中仅提取用户的唯一记录,其中“场所有者”名称等于变量名(它是一个字符串)。
这是我的代码的一部分:
conn.Open();
WasteAppData = "SELECT * FROM [WASTE APPLICATION INFORMATION] WHERE [FARM OWNER] = (user variable) ";
SqlCommand com = new SqlCommand(WasteAppData, conn);
GridView1.DataSource = com.ExecuteReader();
GridView1.DataBind();
如果我用表列中的实际值替换“(用户变量)”,则它可以正常工作。像这样:'Joe Smith',我尝试引用从另一个网络表单中拉出的没有运气的变量...我认为我的语法不正确吗?任何帮助将是巨大的!
您需要这样做:
WasteAppData = "SELECT * FROM [WASTE APPLICATION INFORMATION] WHERE [FARM OWNER] = @FarmOwn";
using (SqlCommand cmdSQL = new SqlCommand(WasteAppData , conn)
{
cmdSQL.Parameters.Add("@FarmOwn", SqlDbType.NVarChar).Value = strFarmOwnwer;
cmdSQL.Connection.Open();
GridView1.DataSource = cmdSQL.ExecuteReader;
GridView1.DataBind();
}
在这种情况下,“ strFarmOwner”将替换为包含所需值的实际变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句