Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.03.2018, 20:12
Аватар для son_yaa
son_yaa son_yaa вне форума
Прохожий
 
Регистрация: 10.03.2018
Сообщения: 6
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Запрос ADOQuery в Делфи 7 выводит не все записи

Появилась это проблема после того как я заполнила таблицу с клиентами. По началу думала что проблема в том что в поле FIO у меня появились записи с кавычками (раньше все запросы работали и кавычек в ФИО клиентов я не вводила, но сейчас нужно заполнять таблицу с ковычками). и почему-то не выводит заказы тех клиентов в ФИО которых присутствуют кавычки
Помогите разобраться пожалуйста. Сижу третий день, не понимаю в чем проблема. Могу спросить программу, кто действительно может помочь

Код:
procedure TForm26.FormShow(Sender: TObject);
var  FirstDay, LastDay: TDateTime;
     data1, data2: TDateTime;
  begin
FirstDay := EnCodeDate(YearOf(Date), MonthOf(Date), 1); //первая дата месяца
LastDay := FirstDay + DaysInMonth(Date) - 1; //последняя дата месяца
DateTimePicker1.Date:= FirstDay;
DateTimePicker2.Date:= LastDay;
 
QueryPoliMes.SQL.Text := 'SELECT * FROM ZakazPoligraf WHERE Data between :data1 and :data2 ';
QueryPoliMes.Parameters.ParamByName('data1').Value := DateTimePicker1.DateTime;
QueryPoliMes.Parameters.ParamByName('data2').Value := DateTimePicker2.DateTime;
QueryPoliMes.Active:=true;
  QueryNaruzhMes.SQL.Text := 'SELECT * FROM ZakazNaruzh WHERE Data between :data1 and :data2 ';
  QueryNaruzhMes.Parameters.ParamByName('data1').Value := DateTimePicker1.DateTime;
  QueryNaruzhMes.Parameters.ParamByName('data2').Value := DateTimePicker2.DateTime;
  QueryNaruzhMes.Active:=true;
    QueryArendMes.SQL.Text := 'SELECT * FROM ZakazArenda WHERE Data between :data1 and :data2 ';
    QueryArendMes.Parameters.ParamByName('data1').Value := DateTimePicker1.DateTime;
    QueryArendMes.Parameters.ParamByName('data2').Value := DateTimePicker2.DateTime;
    QueryArendMes.Active:=true;
 
DataModule3.Tklient.Filtered:=false;
DataModule3.Tklient.Filter:= '(Data >= '+QuotedStr(DateTostr(DateTimePicker1.DateTime))+') and '+
 '(Data <= '+QuotedStr(DateTostr(DateTimePicker2.DateTime))+')';
DataModule3.Tklient.Filtered:=true;
end;
Админ: Пользуемся тегами при оформлении кода! При рецедиве последуют санкции.

Последний раз редактировалось Admin, 19.03.2018 в 20:17.
Ответить с цитированием
  #2  
Старый 19.03.2018, 21:28
Аватар для Guaho
Guaho Guaho вне форума
Начинающий
 
Регистрация: 27.08.2017
Сообщения: 173
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от son_yaa
... но сейчас нужно заполнять таблицу с ковычками). и почему-то не выводит заказы тех клиентов в ФИО которых присутствуют кавычки
А зачем Вам эти кавычки? Это разве что агентурные клички пишут так, а ФИО - всегда без кавычек, это общепринятое правило. Не говоря о том, что это замедляет ввод данных... Если вы будете засовывать кавычки в SQL-запрос, то получите неадекватный ответ. Поэтому:
- если строгой необходимости в кавычках нет, тогда на уровне OnKeyDown/OnKeyPress в полях ввода отслеживайте и удаляйте символ кавычек;
- если такая необходимость есть, то объясните - ЗАЧЕМ?
З.Ы. В приведённом фрагменте кода я вижу только фрагменты работы с датой. Где там ФИО?

Последний раз редактировалось Guaho, 19.03.2018 в 21:32.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter