0
я получаю эту ошибку, когда я вызываю И SQL заявление:SQL ошибка оператор Неправильный синтаксис около ключевого слова «WHERE»
Неправильный синтаксис около ключевого слова «WHERE»
Что я делать не так?
public static dsCustomer RetrieveMultipleCustomers(int CustID = 0, string CustLast = null, string CustPhone = null, string CustEmail = null)
{
dsCustomer DS;
OleDbConnection connection = Connection();
OleDbDataAdapter sqlDA;
bool blnSubSelect = false;
string strSubSelect = "Select * from Customer";
if (CustID != 0)
{
strSubSelect = strSubSelect + " where CustID = " + CustID;
blnSubSelect = true;
}
else
{
if (CustLast != null)
{
strSubSelect = strSubSelect + " where CustLast ='" + CustLast + "'";
blnSubSelect = true;
}
if (CustPhone !=null && CustEmail==null && CustLast==null)
{
strSubSelect = strSubSelect + " where CustPhone ='" + CustPhone + "'";
}
if (CustEmail != null && CustPhone == null && CustLast ==null)
{
strSubSelect = strSubSelect + " where CustEmail = '" + CustEmail + "'";
}
if (CustLast != null && CustPhone != null && CustEmail ==null)
{
strSubSelect = strSubSelect + " WHERE CustLast ='"+CustLast+"' AND CustPhone ='"+CustPhone+"'";
}
}
}
Вы продолжаете добавлять 'where' для каждого нового состояния, вместо' 'and' или or'. –
@Shemal Shah: попробуйте добавить ** «Выбрать * от клиента, где» ** и удалить ** «где» ** из остальной части строки и сообщить, что такое CustLast, CustPhone и т. Д. Являются ли они объектом или просто переменной. – Prabhat
@Suprabhat, а если два условия выполнены? как вы можете поставить «И» между двумя условиями? –