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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2010, 17:37   #1
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию Поиск В DBGrid

Прошу Вас не ругаться. В поиске искал, но кое чего не понял.
Вот мой код поиска:
Код:
Str := Edit1.Text;
case RadioGroup1.ItemIndex of
    0:begin // Поиск по группе
      with ADOQuery1 do begin
                       Close;
                       SQL[2]:='WHERE Фамилия = '''+Str+'''';
                       Open;
                       end;
      end;

1:begin // Поиск по Фамилии
      with ADOQuery1 do begin
                       Close;
                       SQL[2]:='WHERE phone = '''+Str+'''';
                       Open;
                       end;
end;
   end;
т.е. еще есть radiogroup для выбора поиска по фамилии и телефону.
Проблема в самом поиске, если введешь не до конца имя или телефон, ничего не находит. Как исправить проблему. Просто очень этот код нравиться. Не ахото полностью менять.
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 04.02.2010, 17:43   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Попробуйте немного так:
Код:
Str := Edit1.Text;
case RadioGroup1.ItemIndex of
    0:begin // Поиск по группе
      with ADOQuery1 do begin
                       Close;
                       SQL[2]:='WHERE Фамилия = ' + QuotedStr(Edit1.Text);
                       Open;
                       end;
      end;

1:begin // Поиск по Фамилии
      with ADOQuery1 do begin
                       Close;
                       SQL[2]:='WHERE phone = ' + QuotedStr(Edit1.Text);
                       Open;
                       end;
end;
   end;
А там где идет поиск по группе поле, по которому идет поиск, какой тип имеет? И вообще, какая СУБД? Какие поля? Почему нужно клещами информацию вытягивать.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 04.02.2010, 17:52   #3
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

ADO, streeng

Цитата:
Сообщение от artemavd Посмотреть сообщение
Попробуйте немного так:
Код:
Str := Edit1.Text;
case RadioGroup1.ItemIndex of
    0:begin // Поиск по группе
      with ADOQuery1 do begin
                       Close;
                       SQL[2]:='WHERE Фамилия = ' + QuotedStr(Edit1.Text);
                       Open;
                       end;
      end;

1:begin // Поиск по Фамилии
      with ADOQuery1 do begin
                       Close;
                       SQL[2]:='WHERE phone = ' + QuotedStr(Edit1.Text);
                       Open;
                       end;
end;
   end;
А там где идет поиск по группе поле, по которому идет поиск, какой тип имеет? И вообще, какая СУБД? Какие поля? Почему нужно клещами информацию вытягивать.
не ищет как надо. Так же, если не до конца ввел, не выводит.
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics

Последний раз редактировалось Stilet; 05.02.2010 в 09:12.
grom333 вне форума Ответить с цитированием
Старый 04.02.2010, 18:16   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Что значит
Цитата:
если не до конца ввел, не выводит.
???
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 04.02.2010, 18:21   #5
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Что значит

???
Допустим фамилия Белиберда
В эдит ввожу Бели
Жмем батон, он должен найти, Белиберда и других начинающихся на Бели

А то получается недоконца ввел, ничего вообще не находит. Вот в чем проблема то
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 04.02.2010, 19:16   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А вы стандартный DBGrid используете?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 04.02.2010, 19:18   #7
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А вы стандартный DBGrid используете?
Да. Я правда устанавливал некоторые компоненты, но DBGrid, остался не тронутым, на сколько я знаю.
Delphi7
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 04.02.2010, 19:21   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Я просто подумал, что вдруг Вы используете компоненты из Ehlib. Тогда че мы тупим тут с вами . Читайте про FindNearest тут: http://programmersforum.ru/showthrea...ht=findnearest и, коль используете запросы, здесь http://programmersforum.ru/showthrea...ht=findnearest. Во второй ссылке написано про оператор LIKE.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 04.02.2010, 19:29   #9
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Спасибо, почитаю, но у меня все стандартно)
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 04.02.2010, 19:38   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Там то, что вам нужно . А лучше, используйте DBGrid из библиотеки Ehlib. Там этот поиск за пару секунд можно сделать.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматический поиск в DBGrid при вводе символа в Edit Irina_87 БД в Delphi 12 12.12.2009 03:53
Поиск от dbgrid mavlon_m Общие вопросы Delphi 4 19.08.2009 12:53
поиск DBGrid+ComboBox+Edit dalien Общие вопросы Delphi 2 25.06.2009 22:56
Перемещение даннах из dbgrid в dbgrid Hobbit_88 БД в Delphi 7 10.06.2009 13:33
перенос данных из DBGrid в DBGrid KingSize БД в Delphi 17 24.04.2009 09:30