Как я могу передать параметр в предложение WHERE? - PullRequest
0 голосов
/ 31 августа 2011

Название вопроса может вводить в заблуждение. Мне нужно получить атрибут из файла XML. Затем выполните поиск в базе данных с помощью атрибута. Поскольку значение атрибута является динамическим, я должен попытаться отправить его в качестве параметра в предложение WHERE SQL-скриптов. Тем не менее, он всегда возвращает недопустимую ошибку столбца.

Вот часть кодов:

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

1 Ответ

9 голосов
/ 31 августа 2011

Просто используйте параметры:

SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM dbo.U_User WHERE URI=@umail", cn);
da.SelectCommand.Parameters.AddWithValue("@umail", umail);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...