Кто-нибудь может мне помочь с синтаксисом запроса выбора? - PullRequest
1 голос
/ 10 мая 2010

я делаю

string sql = "select * from publisher where title like "'"+tbproperty.text+";

но это не работает!

С уважением ..

Ответы [ 3 ]

9 голосов
/ 10 мая 2010

Использование SqlParameter:

SqlCommand cmd = new SqlCommand("select * from publisher where title like @title");
cmd.Parameters.AddWithValue("@title", tbProperty.Text);

Если вам нужно добавить больше параметров, то сделайте следующее (например, выходной параметр):

SqlParameter param = new SqlParameter("@param ", SqlDbType.NVarChar, 250) { Direction = ParameterDirection.Output };
cmd.Parameters.Add(param);

Это означает, что вам не нужно создавать строку как таковую и останавливать внедрение SQL.

4 голосов
/ 10 мая 2010

С LIKE, если вы ожидаете совпадения начала / конца, вам нужны некоторые символы подстановки, такие как '%', а я предполагаю , что пользователь не добавляет их; но - важно : не объединять пользовательский ввод . Когда-либо; Вы хотите что-то вроде:

sql = "select * from publisher where title like @arg";

С @arg, определенным в качестве параметра, со значением, например:

cmd.Parameters.AddWithValue("@arg", "%" + tbproperty.text + "%");
0 голосов
/ 10 мая 2010

Исправление ..

string sql = "select * from publisher where title like '" + tbproperty.text + "'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...