Добрый день.
Есть код, который осуществляет поиск по набранному номеру (колонка abonenta) в таблице billing за период даты (колонка Date, sDateEdit1.Text - начальная дата, sDateEdit2.Text - конечная дата)
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
sql:string;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
sql:= 'SELECT * FROM billing where [abonenta]='''+Edit1.Text+''' and Date >= '''+sDateEdit1.Text+''' and date <= '''+sDateEdit2.Text+'''';
ADOQuery1.SQL.Add(sql);
try
ADOQuery1.Open;
except
application.MessageBox( 'Не могу выполнить запрос', 'Ошибка',MB_OK);
end;
end;
и есть запрос
Код:
sql:= 'SELECT * FROM billing where [abonenta]='''+Edit1.Text+''' and Date >= '''+sDateEdit1.Text+''' and date <= '''+sDateEdit2.Text+'''';
который не правильно работает. Если я хочу найти набранный номер по всей таблице, я не устанавливаю начальную и конечную даты. И когда я нажимаю кнопку "найти", на DBGrid ни чего не выводится. Хотя данные по этому номеру точно есть. И также, если я хочу найти набранный номер по всей таблице с начальной датой, то тоже на DBGrid ни чего не выводит.
Я понимаю что сам запрос не идеален, поэтому прошу вас усовершенствовать данный запрос.