OleDbCommand, ГДЕ

С таблицей доступа (CustomersTable) и двумя полями (CustomerID, CustomerName)... поле № 1 — число, поле № 2 — текст:

command.CommandText = "SELECT CompanyName FROM CustomersTable WHERE CompanyName 'Zap'";
command.ExecuteReader();

приводит к ошибке (отсутствует оператор) в выражении запроса 'CompanyName 'Zap''.

command.CommandText = "SELECT CompanyName FROM CustomersTable WHERE CompanyName VALUES(?)";
command.Parameters.Add("@p1", OleDbType.VarChar).Value = "Zap";
command.ExecuteReader();

приводит к ошибке (отсутствует оператор) в выражении запроса 'CompanyName VALUES(?).

Я подозреваю, что ExecuteReader() может быть неправильным.


person bhs67    schedule 12.12.2014    source источник
comment
Отсутствует знак =.   -  person LarsTech    schedule 12.12.2014
comment
Похоже Вы не знакомы с sql - это сначала Вам надо изучить. Ваша проблема заключается в синтаксисе ваших запросов   -  person MajkeloDev    schedule 12.12.2014


Ответы (1)


Вам не хватает знака =.

command.CommandText = "SELECT CompanyName FROM CustomersTable WHERE CompanyName =  @p1";
person Rahul Singh    schedule 12.12.2014
comment
Очевидное. Спасибо! - person bhs67; 12.12.2014