Это мой работает не-SQL запросов:Как написать эквивалентный оператор Sqlite для запроса, приведенного ниже?
Query = "select Cust_Id,Card_Number,Clients_Title,Address_Current,Phone_Number,Mobile_Number from Customer_New Where 1=1";
try
{
if (txt_title.Text != "")
Query += " and Clients_Title Like '%" + txt_title.Text + "%'";
if (txt_address.Text != "")
Query += " and Address_Current Like '%" + txt_address.Text + "%'";
if (txt_phone.Text != "")
Query += " and Phone_Number Like '%" + txt_phone.Text + "%'";
if (txt_mobile.Text != "")
Query += " and Mobile_Number Like '%" + txt_mobile.Text + "%'";
if (cbo_location.Text != "")
Query += " and AreaLocation Like '%" + cbo_location.Text + "%'";
}
catch { }
В этом коде обработка «где» оговорка:
Если все текстовые поля являются недействительными он выбирает все записи означают, пропустить где пункт
, если какой-то текст вводится в любом текстовом поле 1, то секция в «где» производится
положение на этом конкретном текстовом поле, если какой-то текст вводится в любом текстовом поле многократным затем раздел в «где» раздел производится в соответствии с ними, выполняя «И» состояние между ними .Это означает, все значения, введенные в текстовые поля должны совпадать с соответствующие строки атрибутов
Здесь я пытаюсь написать эквивалентное заявление SQL.
SELECT Cust_Id, Clients_Title, Card_Number, Key_Person, Address_Current, Phone_Number, Mobile_Number, AreaLocation
FROM Customer_New
WHERE (@Clients_Title IS NULL OR Clients_Title = @Clients_Title)
AND (@Address_Current IS NULL OR Address_Current = @Address_Current)
AND (@Phone_Number IS NULL OR Phone_Number = @Phone_Number)
AND (@Mobile_Number IS NULL OR Mobile_Number = @Mobile_Number)
AND (@AreaLocation IS NULL OR AreaLocation = @AreaLocation)
Проблема в этом запросе:
Это поиск NULL или «» (пустая строка) из БД tablt, если ничего не предусмотрено в тексте box.I хочет, как в приведенном выше коде, если ничего не вводится в текстовое поле, атрибут get skip from where where и только значения, указанные в текстовом поле, рассматриваются для проверки в where clause.Can sql case и if else condition help в этом сценарии? Может ли кто-нибудь сказать мне, как я могу это сделать? Спасибо
Примечание: в хранимой процедуре sqlite не выходить. Так что мне нужно написать правильный SQL-запрос в соответствии со сценарием.
У меня есть также попробовал это и получил тот же результат SELECT Cust_Id, Clients_Title, Card_Number, Key_Person, Address_Current, Phone_Number, Mobile_Number, AreaLocation FROM Customer_New WHERE (@Clients_Title = '' ИЛИ Клиенты_Title LIKE '%' + @ Clients_Title + '%') И (@Address_Current = '' ИЛИ Address_Current LIKE '%' + @ Address_Current + '%') AND (@Phone_Number = '' ИЛИ Номер_пользователя LIKE '%' + @ Phone_Number + '%') AND (@Mobile_Number = '' ИЛИ Mobile_Number LIKE ' % '+ @ Mobile_Number +'% ') AND (@AreaLocation =' 'ИЛИ AreaLocation LIKE'% '+ @ AreaLocation +'% ') –
ваш пример не работает ???? – mb14
мой nonsql-запрос работает .. но я хочу написать эквивалентный SQL-запрос ... мой SQL-запрос не работает –