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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2007, 13:15   #1
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию как организовать поиск по дате...

как сделать поиск по дате через компонент DateTimePicker?

DataModule1.FindQuery.Active:=false ;
DataModule1.FindQuery.SQL .Clear;
DataModule1.FindQuery.SQL.add('Sele ct *' );
DataModule1.FindQuery.sql.add('from zavod');
DataModule1.FindQuery.sql.add('wher e Data_vivoza like ''' + dateTostr(DateTimePicker1.date) +'''');
DataModule1.FindQuery.Active:=true;

в таблице поле Data_vivoza имеет тип Data.... Помогите плиз....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 18.06.2007, 16:34   #2
2face
Пользователь
 
Регистрация: 23.05.2007
Сообщений: 24
По умолчанию

Попробуй так.
DataModule1.FindQuery.sql.add('wher e Data_vivoza like #39 + dateTostr(DateTimePicker1.date) +#39');
2face вне форума Ответить с цитированием
Старый 18.06.2007, 16:54   #3
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Раз у тебя есть TDateTimePicker тогда попробуй через указание параметра:

DataModule1.FindQuery.Active:=false ;
DataModule1.FindQuery.SQL .Clear;
DataModule1.FindQuery.SQL.add('Sele ct *' );
DataModule1.FindQuery.sql.add('from zavod');
DataModule1.FindQuery.sql.add('wher e (Data_vivoza= t));
datamodule1.findquery.prepare;
datamodule1.findquery.params[0].asdatetime:=DateTimePicker1.date;
DataModule1.FindQuery.exec;

Вот и все ... Прочитай книжку Шумакова очень полезная вещь особенно про SQL там целый раздел посвящен этому языку...
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 18.06.2007, 16:55   #4
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

там где смайлик зеленный это не то что надо там должно быть двоеточие, просто форум так интерпретировал двоеточие.
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 18.06.2007, 16:58   #5
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

datamodule1.FindQuery.sql.add('wher e (data_vivoza= : dt)');
где : dt есть имя парамтра (можешь указать любое, и между двоеточием и знаком равенства обязательно должен быть пробел, а между двоеточием и именем_параметра пробела не надо)
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 19.06.2007, 08:49   #6
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Killer_djon Посмотреть сообщение
datamodule1.FindQuery.sql.add('wher e (data_vivoza= : dt)');
где : dt есть имя парамтра (можешь указать любое, и между двоеточием и знаком равенства обязательно должен быть пробел, а между двоеточием и именем_параметра пробела не надо)

спасибо большое.... А какие параметры указывать в свойствах parametrs? Просто у меня выдает , что unknown type dt.....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 19.06.2007, 09:16   #7
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Праметры не надо указывать, просто задаешь имя_параметра, далее обязательно нужно написать
datamodule1.FindQuery.prepare;
datamodule1.FindQuery.params[0].asdatetime:=DateTimePicker1.date; //здесь ты обращаешся к заданному параметру по индексу по скольку он у тебя один то индекс 0 и затем
FindQuery.Exec;
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 19.06.2007, 09:17   #8
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Причем данный механизм работает исключительно, не должно выходить никаких ошибок, у меня работает я проверял все отлично...
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 19.06.2007, 09:47   #9
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Killer_djon Посмотреть сообщение
Праметры не надо указывать, просто задаешь имя_параметра, далее обязательно нужно написать
datamodule1.FindQuery.prepare;
datamodule1.FindQuery.params[0].asdatetime:=DateTimePicker1.date; //здесь ты обращаешся к заданному параметру по индексу по скольку он у тебя один то индекс 0 и затем
FindQuery.Exec;


братка, та я синтекс понял.... Но я ж тебе говорю, что выдает ошибку... и матюхается исключительно на компонет t
дело в том, что выводя ShowMessage(DAteTimeToStr(datamodul e1.FindQuery.params[0].value) - выводит нормальное значение..... Тоесть именно ту дату выводит, которую я указываю в DateTimePicker1..... А вот когда запускается форма FindResultForm.ShowModal; то выдается сообщение на параметр : dt
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 19.06.2007 в 09:50.
Pitbull вне форума Ответить с цитированием
Старый 19.06.2007, 10:35   #10
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

ААААААА ну да дело в том что, при методе ShowModal эта ошибка не исключена почему не имею понятия попробуй другим способ вызвать форму например : show, или попробуй в этом же окне например вставить DBGrid и в нем отобразить результат запроса, должно сработать
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по дате. в чем ошибка?? missy БД в Delphi 6 20.06.2008 13:06
Delphi Поиск по дате Именинника Махор Помощь студентам 8 01.12.2007 20:46
Поиск по дате создания файла kayman БД в Delphi 1 14.09.2007 14:54
Поиск по дате создания файла kayman Общие вопросы Delphi 1 14.09.2007 10:36
Как организовать поиск интервала дат через SQL Selena Общие вопросы Delphi 1 14.03.2007 01:25