Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск в базе 
:(
    Опции темы
Tror
Дата 28.3.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



есть некая таблица в БД
на форме Edit1 и Combobox1
в ComboBox1 выбираем критерий поиска, т.е. одно из полей таблицы
в Edit1 мы вводим то что ищем

В Edit1 обрабатываем OnChange.

вопрос в следующем:
как лучше искать

1) в OnChange каждый раз вызывать запрос Query1 с новыми параметрами
или
2) после первого запроса искать уже в DataSet1

пока в голову пришло только 2 способа, может кто предложит еще чего-нибудь
буду очень благодарен

]:)<
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
sexton
Дата 28.3.2006, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



Цитата(Tror @ 28.3.2006, 14:35 Найти цитируемый пост)
В Edit1 обрабатываем OnChange.

а почему не сделать поиск по кнопке?

Вообще метод и способ реализации зависят от преследуемых поиском целей...
PM MAIL WWW ICQ   Вверх
Tror
Дата 28.3.2006, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



Цитата(sexton @ 28.3.2006, 15:09 Найти цитируемый пост)
Вообще метод и способ реализации зависят от преследуемых поиском целей...


то есть .............???
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
sexton
Дата 28.3.2006, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



Допустим, если ты хочешь дать пользователю возможность редактировать поля, ставшие результатом поиска, то тут Query не покатит, т.к. SELECT есть нередактируемый запрос. Да и в ряде случаев поиск методами датасета побыстрее проходит.
PM MAIL WWW ICQ   Вверх
Tror
Дата 28.3.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



вообще-то возможность редактирования я хочу предоставить, но
только не в DBGride.
у меня в нижней части формы DBGrid и Edit для поиска
а в верхней несколько Edit'ов в которые я копирую данные из выбранной строки
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
ТоляМБА
Дата 29.3.2006, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Цитата(sexton @ 28.3.2006, 16:52 Найти цитируемый пост)
SELECT есть нередактируемый запрос
Код

Query1.ReqestLive:=true;
Query1.Edit;
Query1.FieldByName('Field1').AsString:='да ну?';
Query1.Post;
Query1.Close;

PM   Вверх
AKN
Дата 29.3.2006, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 11.11.2005

Репутация: нет
Всего: нет



ТоляМБА,
Цитата

SELECT есть нередактируемый запрос


Код
Query1.ReqestLive:=true;
Query1.Edit;
Query1.FieldByName('Field1').AsString:='да ну?';
Query1.Post;
Query1.Close;


помоему ты получишь изменение не самой базы данных, а кэша, после придется вставлять изменения - гимор... ИМХО
PM MAIL   Вверх
Tror
Дата 29.3.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



ТоляМБА,
ты что не читал
Цитата

а в верхней несколько Edit'ов в которые я копирую данные из выбранной строки


а после редактирования посылаю UPDATE в базу

Это сообщение отредактировал(а) Tror - 29.3.2006, 10:58
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
bas
Дата 29.3.2006, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: 1
Всего: 2



TUpdateSQL
PM MAIL   Вверх
Tror
Дата 29.3.2006, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



bas,
Цитата(bas @ 29.3.2006, 11:06 Найти цитируемый пост)
TUpdateSQL


ну и чем он лучше Обычного запроса Query?

--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
sexton
Дата 29.3.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



Цитата(Tror @ 28.3.2006, 17:04 Найти цитируемый пост)
а в верхней несколько Edit'ов в которые я копирую данные из выбранной строки

А если результатом поиска (ну через тот же SELECT) будет несколько строк?
PM MAIL WWW ICQ   Вверх
Tror
Дата 29.3.2006, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



sexton,
они будут отображаться в гриде а копирование едиты будет происходить
по клику на какой-либо строке грида
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
ТоляМБА
Дата 29.3.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Цитата(AKN @ 29.3.2006, 10:05 Найти цитируемый пост)
помоему ты получишь изменение не самой базы данных, а кэша, после придется вставлять изменения

Проходом по циклу вышеуказанным моим кодом dBase IV табла через BDE меняется - в смысле файл.

Цитата(Tror @ 29.3.2006, 10:56 Найти цитируемый пост)
ТоляМБА,
ты что не читал
Цитата
а в верхней несколько Edit'ов в которые я копирую данные из выбранной строки
Я на твой вопрос и не отвечал. Просто когда увидел
Цитата(sexton @ 28.3.2006, 16:52 Найти цитируемый пост)
тут Query не покатит, т.к. SELECT есть нередактируемый запрос
Мало-мало удивился.
PM   Вверх
Tror
Дата 29.3.2006, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



ТоляМБА,
Цитата(ТоляМБА @ 29.3.2006, 13:19 Найти цитируемый пост)
Проходом по циклу вышеуказанным моим кодом dBase IV табла через BDE меняется - в смысле файл.

у тебя база локальная и requestlive вполне катит, а у меня на Informix
у меня requestlive не будет гуд ;)

--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
sexton
Дата 29.3.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



Цитата(ТоляМБА @ 29.3.2006, 13:19 Найти цитируемый пост)
Мало-мало удивился.

Согласен, скорее всего в данном случае запрос будет редактируемым. Но вообще насколько я знаю в некоторых случаях запрос может быть не редактируемым и при RequestLive = TRUE
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.