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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2012, 19:24   #1
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
Злость Поиск по 3 параметрам

собственно нужно найти запись по 3 параметрам, все попробовал ниче не получается (по 1 проходит)

ADODataSet1.CommandText := 'select * from Имя_Таблицы_с_Клиентами where fio_clienta = ' + QoutedStr(DBEdit17.text) + ' and dr = ' + QuotedStr(MaskEdit4.Text) + ' and tel = ' + QuotedStr(MaskEdit5.Text);
ошибка

[DCC Error] Unit1.pas(426): E2015 Operator not applicable to this operand type

локейты пробовал не выходит, беда
Айдар вне форума Ответить с цитированием
Старый 03.12.2012, 20:06   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

dr, видимо, содержит дату рождения в формате Date, а сравнение в запросе происходит со строкой.
Попробуйте запрос через параметры организовать.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 03.12.2012 в 20:08.
Sciv вне форума Ответить с цитированием
Старый 03.12.2012, 20:08   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

1. Кавычка не затесалась в любой из текстов во WHERE?
2. Мало вероятно, что ошибка именно на этой команде. Покажите предшествующий код, а лучше всю процедуру целиком

ADD

QuotedStr<>QoutedStr

А вообще странно, что такая ошибка, должна быть другая
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 03.12.2012 в 20:11.
Аватар вне форума Ответить с цитированием
Старый 03.12.2012, 20:15   #4
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
1. Кавычка не затесалась в любой из текстов во WHERE?
2. Мало вероятно, что ошибка именно на этой команде. Покажите предшествующий код, а лучше всю процедуру целиком

ADD

QuotedStr<>QoutedStr

А вообще странно, что такая ошибка, должна быть другая
Код:
procedure TForm1.Button24Click(Sender: TObject);
begin

{var LookupRes: Variant;
begin
LookupRes := ADOTable10.Lookup
  ('fio_clienta;dr',VarArrayOf([DBEdit17.text,MaskEdit4.Text ]),'dr', [loCaseInsensitive]);

if not VarIsNull(LookupRes) then
 ShowMessage(VarToStr(LookupRes[0])) //имя автора
}
ADODataSet1.CommandText := 'select * from sale where fio_clienta = ' + QoutedStr(DBEdit17.text) + ' and dr = ' + QuotedStr(MaskEdit4.Text) + ' and tel = ' + QuotedStr(MaskEdit5.Text);
//ADOTable10.Filter := 'fio_clienta =  + QoutedStr(DBEdit17.text) + ' and 'dr = ' + QuotedStr(MaskEdit4.Text) + ' and tel = ' + QuotedStr(MaskEdit5.Text);
ADOTable10.Filtered := True;
end;
Может есть способ легче?
Айдар вне форума Ответить с цитированием
Старый 03.12.2012, 20:17   #5
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
dr, видимо, содержит дату рождения в формате Date, а сравнение в запросе происходит со строкой.
Попробуйте запрос через параметры организовать.
dr-текстовое поле, я уже 3 часа пытаюсь этот поиск сделать(
Айдар вне форума Ответить с цитированием
Старый 03.12.2012, 20:22   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Я же написал: нет QoutedStr, а есть QuotedStr
Код вообще не должен компилироваться
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 03.12.2012 в 20:24.
Аватар вне форума Ответить с цитированием
Старый 03.12.2012, 21:09   #7
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Я же написал: нет QoutedStr, а есть QuotedStr
Код вообще не должен компилироваться
Код:

select * from sale where fio_clienta ="' + QuotedStr(DBEdit17.text) + '" and dr = "' + QuotedStr(MaskEdit4.Text) + '" and tel = "'+ QuotedStr(MaskEdit5.Text)+'";
впихнул в ADOQuery6 не помогает

код кнопки
ADOQuery6.Close;
ADOQuery6.Active:=true;
showmessage(ADOquery6.FieldByName(' mail').asstring );
Айдар вне форума Ответить с цитированием
Старый 03.12.2012, 21:19   #8
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

кароче я уже туплю, расскажу цель Есть таблица sale в ней надо проверить есть если записи по 3 параметрам (фио клиента, день рождение, телефон) если есть то надо эту запись поставить в режим изменения, если юзер захочет изменить и запись измениться, нет значить нет
Айдар вне форума Ответить с цитированием
Старый 03.12.2012, 22:01   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Кавычек понаставили... Ладно, тогда так
Код:
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='select * from Имя_Таблицы_с_Клиентами where fio_clienta = :fio and dr = :datr and tel = :telefon';
  ADOQuery1.Parameters.ParamByName('fio').Value:=DBEdit17.text;
  ADOQuery1.Parameters.ParamByName('datr').Value:=MaskEdit4.Text;
  ADOQuery1.Parameters.ParamByName('telefon').Value:=MaskEdit5.Text;
  ADOQuery1.Open;
  if ADOQuery1.RecordCount>0 then ShowMessage('Запись найдена');
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по параметрам amosik Microsoft Office Access 1 20.05.2012 01:01
Поиск файлов формата bmp по заданным параметрам LinaSh Помощь студентам 17 18.04.2011 21:08
Формула: "Поиск значения по нескольким параметрам" Илья Николаевич Microsoft Office Excel 4 19.07.2010 19:39
Автоматический поиск ячейки по заданным параметрам Renzo Microsoft Office Excel 5 07.03.2009 17:48
Эллипс по параметрам rzrwolf Microsoft Office Excel 6 21.12.2008 01:47