0
問題的標題可能會引起誤解。我需要從XML文件中獲取屬性。然後,使用該屬性搜索數據庫。由於屬性的值是動態的,我必須嘗試將它作爲參數發送到SQL腳本的WHERE子句。但是,它總是返回無效的列錯誤。如何將參數傳遞給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
你所得到的錯誤,因爲在部分'URI = umail',數據庫期待'umail'是一個列,但你打算在那裏有一個值,所以你需要使用'@ umail'來標識它到'SqlDataAdapter',它是查詢中的一個參數 - 在它被髮送到數據庫之前將被替換。 – Zabba