问题的标题可能会产生误导。我需要从XML文件中获取属性。然后,使用该属性搜索数据库。由于属性的值是动态的,我必须尝试将其作为参数发送到SQL脚本的WHERE子句。但是,它始终返回无效的列错误。
以下是代码的一部分:
string umail = "";
XDocument loaded = XDocument.Load(@"C:\1.xml");
var q = from c in loaded.Descendants("AdminUserDB.dbo.U_User")
select (string)c.Element("URI");
foreach (string em in q)
umail = em;
SqlConnection cn = new SqlConnection("server=(local);database=AdminUserDB;Persist Security Info=True; uid=sa;pwd=pwd");
cn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM dbo.U_User WHERE URI=umail", cn);
.....
此操作还有其他方法吗?
由于
SUT
答案 0 :(得分:9)
只需使用参数:
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM dbo.U_User WHERE URI=@umail", cn);
da.SelectCommand.Parameters.AddWithValue("@umail", umail);