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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2007, 16:35   #1
missy
 
Регистрация: 20.06.2007
Сообщений: 3
Восклицание Поиск по дате. в чем ошибка??

Помогите, работу нужно сдавать. Никак поиск не могу доделать. По-разному пробовала. Пояснение все строки работают кроме, относящейся к DateTimePicker1. Показывает Invalid use of keyword. Token Date=? Line number 4. Что здесь не так?
procedure TForm6.Button2Click(Sender: TObject);
begin
DataSource1.DataSet:=Query1;

try

with Query1 do
begin
close;
sql.Clear;
sql.Add('Select *');
sql.Add('From adm');
sql.Add('Where adm.Fam_istez=:Fam_istez1 or Fam_otvet=:Fam_otvet1 or Fam_sud=:Fam_sud1');
sql.Add( 'or Ul=:Ul1 or Solution=:Solution1 or Date=:Date1');
ParamByName('Fam_istez1').AsString: =Edit1.Text;
ParamByName('Fam_otvet1').AsString: =Edit2.Text;
ParamByName('Fam_sud1').AsString:=C omboBox1.Text;
ParamByName('Ul1').AsString:=ComboB ox2.Text;
ParamByName('Solution1').AsString:= ComboBox3.Text;
ParamByName('Date1').AsDateTime:=Da teTimePicker1.Date;
open;
end;


except
on error: EDatabaseError do begin
MessageDlg('Ïðè âûïîëíåíèè çàïðîñà ïðîèçîøëà îøèáêà:'+#13+#13+
error.Message ,mtError,[mbOK],0);
end;
end;
end;
missy вне форума Ответить с цитированием
Старый 20.06.2007, 21:44   #2
konkurent
Пользователь
 
Регистрация: 10.04.2007
Сообщений: 51
По умолчанию

ребят вы форум сначала почитайте может и полезное найдёте
e-mail=konkurent@gala.net
isq=498425545
konkurent вне форума Ответить с цитированием
Старый 20.06.2007, 23:08   #3
missy
 
Регистрация: 20.06.2007
Сообщений: 3
По умолчанию

Цитата:
Сообщение от konkurent Посмотреть сообщение
ребят вы форум сначала почитайте может и полезное найдёте
Целые сутки искала не спала, пробовала разные варианты из форума. ВТОРАЯ БД в моей жизни и то, теперь я знаю в чем ошибка. Легко советовать читать у других, а самому предложить помощь? .... уже не нужна. Спасибо, KONKURENT за доброту
missy вне форума Ответить с цитированием
Старый 21.06.2007, 10:53   #4
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

пропустила "prepare"
......
query1.prepare;
......
query1.params[5].asdatetime:=DateTimePicker1.dateTi me;
Query1.exec;

или по имени, как ты написала. И по-моему, "asdatetime" не обязательно писать....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 21.06.2007 в 10:55.
Pitbull вне форума Ответить с цитированием
Старый 21.06.2007, 21:19   #5
missy
 
Регистрация: 20.06.2007
Сообщений: 3
Радость

от 'prepare' не зависит. У меня все работает уже. Просто "
Описание ошибки или проблемы, ее вызывающей: В запросе встретилось ключевое слово там, где его не должно быть. Чаще всего эта ошибка возникает из-за того, что имя поля в таблице совпадает с зарезервированным словом (наиболее распространённый пример - поле с именем Date). Самое лучшее - это переименовать поля таблицы так, чтобы их имена не совпадали с зарезервированными словами. Если это по какой-то причине невозможно, надо сформировать запрос так, чтобы было понятно, что эти слова - именно имена. Как именно это сделать, зависит от используемой СУБД. Например, для Access и MS SQL Server нужно заключить эти имена в квадратные скобки, для некоторых других СУБД - в двойные кавычки."Просто переименовала! А запрос-то мой все-таки правильный.
missy вне форума Ответить с цитированием
Старый 18.06.2008, 11:38   #6
jalol
Новичок
Джуниор
 
Регистрация: 18.06.2008
Сообщений: 1
По умолчанию

попробуйте в место
ParamByName('Date1').AsDateTime:=Da teTimePicker1.D ate;
ParamByName('Date1').AsVariant:=Dat eTimePicker1.D ate;
jalol вне форума Ответить с цитированием
Старый 20.06.2008, 13:06   #7
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

Попробуй заменить строку

Цитата:
ParamByName('Date1').AsDateTime:=Da teTimePicker1.D ate;
на
ParamByName('Date1').AsDateTime:=Da teTimePicker1.DateTime;
The Revolution is Now!

Последний раз редактировалось hoza_syl; 20.06.2008 в 15:14.
hoza_syl вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi Поиск по дате Именинника Махор Помощь студентам 8 01.12.2007 20:46
Поиск по дате создания файла kayman БД в Delphi 1 14.09.2007 14:54
Поиск по дате создания файла kayman Общие вопросы Delphi 1 14.09.2007 10:36
как организовать поиск по дате... Pitbull БД в Delphi 18 24.06.2007 22:28
Поиск строки (ошибка) Scorpeon Помощь студентам 3 13.06.2007 02:09