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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2013, 21:59   #11
delfin07
Форумчанин
 
Регистрация: 14.05.2011
Сообщений: 108
По умолчанию

Поиск вообще не происходит тупо не изменен я ввел данные в едиты а грид не изменяется.ввожу все что попало даже на это не реагирует должен быть пустой грид
а у меня все наместе без изменения
delfin07 вне форума Ответить с цитированием
Старый 07.01.2013, 22:10   #12
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

ну так ищи тогда причину в обработчиках. возможно грид не присоединен к датасету мы не можем тут угадывать что там у тебя в проэкте накручено. запрос проверен - работает нормально. а значит проблема где-то у тебя в чем то другом
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 07.01.2013, 23:16   #13
delfin07
Форумчанин
 
Регистрация: 14.05.2011
Сообщений: 108
По умолчанию

Вот теперь не ищет 100 проц 0 записей
delfin07 вне форума Ответить с цитированием
Старый 07.01.2013, 23:25   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от delfin07 Посмотреть сообщение
Вот теперь не ищет 100 проц 0 записей
А до этого не искало 80%?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2013, 01:48   #15
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

delfin07, что там у тебя "ищет-не ищет" никто не будет угадывать из воздуха. показывай доказательства:
1. запись которая есть в БД которую он должен был найти (по твоему мнению)
2. запрос которым ищешь
3. пераметры которые передаются в запрос (Edit1.Text, Edit2.Text и т.д.)
4. ну и неплохо было бы ввесь код обработчика глянуть (ButtonClick или что-то еще)
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 08.01.2013, 01:55   #16
delfin07
Форумчанин
 
Регистрация: 14.05.2011
Сообщений: 108
По умолчанию

Код:
procedure TForm2.BitBtn3Click(Sender: TObject);
begin

if (Edit1.Text='') AND (Edit2.Text='') then ShowMessage('Введите данные в страку поиска')ELSE BEGIN
if (Edit1.Text>'') AND (Edit2.Text='') then  BEGIN
IBDataSet1.Close;
IBDataSet1.SelectSQL.Text := 'SELECT * FROM GRUPPA WHERE NOM_GR LIKE ''%'+Edit1.Text+'%''';
IBDataSet1.Open;
a:=DataSource1.DataSet.RecordCount;
StatusBar1.Panels.Items[1].Text:=IntToStr(a); END;
if (Edit1.Text='') AND (Edit2.Text>'') then  BEGIN
IBDataSet1.Close;
IBDataSet1.SelectSQL.Text := 'SELECT * FROM GRUPPA WHERE PERIOD LIKE ''%'+Edit2.Text+'%''';
IBDataSet1.Open;
a:=DataSource1.DataSet.RecordCount;
StatusBar1.Panels.Items[1].Text:=IntToStr(a); END;
if (Edit1.Text>'') AND (Edit2.Text>'') then  BEGIN
IBDataSet1.Close;
IBDataSet1.SelectSQL.Text := 'SELECT * FROM gruppa g WHERE (g.nom_gr LIKE ''%''||:p1) AND (g.period CONTAINING (:p2))';
IBDataSet1.ParamByName('p1').AsString := Edit1.Text;
IBDataSet1.ParamByName('p2').AsString := Edit2.Text;
IBDataSet1.Open;
a:=DataSource1.DataSet.RecordCount;
StatusBar1.Panels.Items[1].Text:=IntToStr(a); END ;

   END;
end;
вот код
delfin07 вне форума Ответить с цитированием
Старый 08.01.2013, 10:38   #17
delfin07
Форумчанин
 
Регистрация: 14.05.2011
Сообщений: 108
По умолчанию

IBDataSet1.SelectSQL.Text := 'SELECT * FROM SDACH WHERE (TEMA_K LIKE '+QuotedStr('%'+Edit1.Text+'%')+') and (TIP_DOK LIKE '+QuotedStr(Edit2.Text+'%')+')';
вот сделал по 2 как сделать по 3
IBDataSet1.SelectSQL.Text := 'SELECT * FROM SDACH WHERE (TEMA_K LIKE '+QuotedStr('%'+Edit1.Text+'%')+') and (TIP_DOK LIKE '+QuotedStr(Edit2.Text+'%')+')(DOK LIKE '+QuotedStr(Edit4.Text+'%')+')'; как правильно поставить проц чтобы заработало
delfin07 вне форума Ответить с цитированием
Старый 08.01.2013, 11:05   #18
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
вот код
ну а гдео первые 3 пункта из перечисленного?
Цитата:
как правильно поставить проц чтобы заработало
ты еще с первым кодом не разобрался, а уже во второй лезешь
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 08.01.2013, 11:51   #19
delfin07
Форумчанин
 
Регистрация: 14.05.2011
Сообщений: 108
По умолчанию

я разобрался с кодом изменил его все работает вот с 3 полями проблемы
delfin07 вне форума Ответить с цитированием
Старый 08.01.2013, 12:26   #20
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

ну так а какая разница между:
Код:
WHERE (поиск по полю1) AND (поиск по полю2)
и
Код:
WHERE (поиск по полю1) AND (поиск по полю2) AND (поиск по полю3)
?
дописывай в готовое условие еще одно и все ... никаких проблем
зы.
Цитата:
... and (TIP_DOK LIKE '+QuotedStr(Edit2.Text+'%')+')(DOK LIKE '+QuotedStr(Edit4.Text+'%')+')';
пропушен оператор
Код:
... and (TIP_DOK LIKE '+QuotedStr(Edit2.Text+'%')+') AND (DOK LIKE '+QuotedStr(Edit4.Text+'%')+')';
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 08.01.2013 в 12:28.
Yurk@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IBDataSet QModify GIO C++ Builder 0 09.09.2011 15:20
Delphi7+DBGridEh+FireBird+IBDataSet Alekcey БД в Delphi 6 14.08.2010 05:06
ibdataset Alekcey БД в Delphi 3 13.08.2010 08:07
IBDataSet Старовъръ БД в Delphi 7 07.07.2008 13:49
Почему ошибка в IBDataSet? 3lander БД в Delphi 3 10.10.2007 11:38