Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2010, 03:16   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
Печаль Выборка по времени в FireBird

Здравствуйте.
Пытаюсь сделать так

Код:
procedure TVahtaMainForm.poiskClick(Sender: TObject);
var
   zapr:string;
begin
    zapr:='SELECT * FROM NEW_TABLE WHERE';
   if (radiobutton2.Checked=true) and(checkbox1.Checked=false)  then
      zapr:=zapr+' "ВРЕМЯ ПРИБЫТИЯ"='+
      QuotedStr(TimeToStr(datetimepicker2.Time))+' and "ВРЕМЯ УБЫТИЯ" is not null'; 
   DM.FIBDS.Close;
   DM.FIBDS.SQLs.SelectSQL.Text:=zapr;
   DM.FIBDS.Open;
end;
Запрос выполняется без ошибок но вот записи не выводятся как будто их нет в таблице.
Lokos вне форума Ответить с цитированием
Старый 12.08.2010, 04:07   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

А если вместо * указать какое-нибудь поле? То тогда как?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.08.2010, 04:26   #3
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А если вместо * указать какое-нибудь поле? То тогда как?
тот же результат.
Поле имеет тип TIME. Возможно в этом проблема. Еще есть тип TIMESTAMP каково различие между ними
или возможно время указывается не в апострафах ('')

Последний раз редактировалось Lokos; 12.08.2010 в 04:35.
Lokos вне форума Ответить с цитированием
Старый 12.08.2010, 04:37   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

А если такой выполнить запрос, то будут ли записи какие-нибудь выдаваться:
Код:
 DM.FIBDS.Close;
 DM.FIBDS.SQLs.SelectSQL.Text:='select * from new_table where "Время прибытия"=' + QuotedStr(TimeToStr(DateTimePicker1.Time)) + ' and "Время убытия" is not null';
 DM.FIBDS.Open;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.08.2010, 04:45   #5
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А если такой выполнить запрос, то будут ли записи какие-нибудь выдаваться:
Код:
 DM.FIBDS.Close;
 DM.FIBDS.SQLs.SelectSQL.Text:='select * from new_table where "Время прибытия"=' + QuotedStr(TimeToStr(DateTimePicker1.Time)) + ' and "Время убытия" is not null';
 DM.FIBDS.Open;
эфект тот же 0 записей. Менял даже так
Код:
 DM.FIBDS.Close;
 DM.FIBDS.SQLs.SelectSQL.Text:='select * from NEW_TABLE where "ВРЕМЯ ПРИБЫТИЯ"=15:15:57';
 DM.FIBDS.Open;
ошибка
Менял так
Код:
 DM.FIBDS.Close;
 DM.FIBDS.SQLs.SelectSQL.Text:='select * from NEW_TABLE where "ВРЕМЯ ПРИБЫТИЯ"=' + QuotedStr('15:15:57');
 DM.FIBDS.Open;
0 записей
Lokos вне форума Ответить с цитированием
Старый 12.08.2010, 04:54   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Какой тип имеет поле "Время Прибытия"? Пробовали задавать английские имена полей и выполнять запрос?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.08.2010, 05:01   #7
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Какой тип имеет поле "Время Прибытия"? Пробовали задавать английские имена полей и выполнять запрос?
Тип поля TIME, имя полей точно не причем.
Запрос
Код:
 zapr:='SELECT ID FROM NEW_TABLE WHERE';
 if radiobutton1.Checked=true  then
      zapr:=zapr+' "ДАТА ПРИБЫТИЯ"='+
      QuotedStr(DateToStr(datetimepicker1.Date))+' and "ВРЕМЯ УБЫТИЯ" is not null';
Работает отлично
Lokos вне форума Ответить с цитированием
Старый 12.08.2010, 05:22   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Значит где-то Вы логически намудрили в этих условиях
Код:
 if radiobutton1.Checked=true  then ... и так далее
Кстати, а как Вы заносите время прибытия в БД?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.08.2010, 05:26   #9
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Значит где-то Вы логически намудрили в этих условиях
Код:
 if radiobutton1.Checked=true  then ... и так далее
Кстати, а как Вы заносите время прибытия в БД?
Вот так
Код:
 DM.FIBQ.SQL.Clear;
         DM.FIBQ.SQL.Text:='INSERT INTO NEW_TABLE (ID,"ФИО","ДАТА ПРИБЫТИЯ","ВРЕМЯ ПРИБЫТИЯ", '+
         '"ВРЕМЯ УБЫТИЯ","АГЕНСТВО","СОПРАВОЖДАЮЩИЙ","КУДА")'+
         ' VALUES(null,:FIO,:DPR,:TPR,null,:AG,:SOPR,:KUDA)';
         DM.FIBQ.ParamByName('FIO').Value:=memo1.text;
         DM.FIBQ.ParamByName('DPR').AsDate:=Date;
         DM.FIBQ.ParamByName('TPR').Value:=Time;
         DM.FIBQ.ParamByName('AG').Value:=combobox2.text;
         DM.FIBQ.ParamByName('SOPR').Value:=memo2.Text;
         DM.FIBQ.ParamByName('KUDA').Value:=memo3.Text;
         DM.FIBQ.ExecQuery;
         DM.FIBQ.Transaction.Commit;
         DM.FIBDS.Close;
Lokos вне форума Ответить с цитированием
Старый 12.08.2010, 05:37   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Точн не помню, но разве в FireBird нельзя так записать?
Код:
DM.FIBQ.ParamByName('TPR').AsDateTime:=Time;
Можете привести скрин таблицы БД с несколькими вставленными записями? Надо посмотреть как они там выглядят.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка выборка с таблицы с отношением многие-ко-многим 8alig8 БД в Delphi 2 24.06.2010 12:21
Выборка по времени и дате Aleksei83 Microsoft Office Access 6 24.06.2010 08:25
Firebird. Выборка записей. Вопрос про DBGridEh. artemavd БД в Delphi 14 17.10.2009 12:09
FireBird Д'якон БД в Delphi 2 04.12.2008 11:15
FireBird 1.5.4 Nikola__ БД в Delphi 2 17.11.2008 14:42