Как мне выполнить параметризованный запрос MySQL в C #? - PullRequest
0 голосов
/ 26 января 2011

Когда я запускаю эту команду в MySQL:

SELECT * FROM v
WHERE v.firstname LIKE '%a%' OR middlename LIKE '%a%' OR lastname LIKE '%a%'

Возвращает 4 строки в наборе результатов.

Но когда я выполняю тот же запрос, используя параметры в C #, он возвращает только один.

SELECT * FROM v
WHERE v.firstname  LIKE ?word OR middlename LIKE ?word OR lastname 

cmd.Parameters.AddWithValue("word", '%'+key+'%');

Я также попробовал '%' ?word '%' и добавил только параметр (ключ), но это тоже не сработало.

Как мне сделать эту работу?

Ответы [ 3 ]

0 голосов
/ 26 января 2011

Похоже, вам не хватает слова "LIKE? Word" в конце второго оператора SQL.

0 голосов
/ 26 января 2011

ГДЕ v.firstname LIKE? Word ИЛИ среднее имя LIKE? Word ИЛИ фамилия вам не хватает фамилии НРАВИТСЯ? слово?

0 голосов
/ 26 января 2011

Используете ли вы что-то вроде:

cmd.ExecuteScalar()

в вашем коде?Вернет только 1 запись.Попробуйте вместо

cmd.ExecuteReader()

.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...