![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск [D7, dBase, FoxPro]
Alex18 © (2005-06-23 18:03:00)Привет всем. Подскажите пожалуйста у меня есть допустим база в столбике(Name) и там находится от 1 до 7 слов как мне зделать так чтоб провести поиск по Этому столбику на сущетвования одного слова если да то чтоб он выписал всю строку BDgrid формат базы DBF.зарание спосибо.
msguns (2005-06-25 16:05:00) [1]Если Вы знаете английский, то лучше, чем по встроенному хелпу (нажать мышкой на компонент в палитре, потом F1) не скажешь ;)
Заодно в любом месте Implementation наберите TSession, поставьте курсор на любую букву этого слова и, нажав левую кноку мыши, нажмите F1. Внимательно почитайте, как BDE работает с базами данных через сессии (в частности, использование алиасов).
P.N.P. (2005-06-25 14:43:00) [2]>Alex18 © (25.06.05 14:36) [26]
>напешете пожалуйста пример
\Program Files\Borland\Delphi7\Demos\Db\*.*
Alex18 (2005-06-25 14:36:00) [3]Ну если можно то напешете пожалуйста пример , но заашбки извените я в России не учился меня рускому родители учили.
msguns (2005-06-25 13:48:00) [4]Используйте закладку BDE.
Для связи с БД лучше всего TDataBase
Для отображения НД надо
TDataBase с настроенным путем к БД
TTable на нужную таблицу
TDataSource с указанием на TTable
TDBGrid с указанием на TDataSource
Сначала открыть БД (можно открыть TTable,- он автоматически откроет и Базу Данных)
Данные из таблицы должные отображаться в TDBGrid
Для поиска надо
1) Предусмотреть контрол на панели управления (TButton, TToolBatton, TMenu, TPopUpMenu, etc)
2) Для ввода образца надо предусмотреть контрол типа TEdit, куда пользователь сможет ввести то, что он хочет
3) Реализацию поиска можно делать разным способом. Самый простой - искать по первому. Для этого надо использовать метод TDataSet (папа TTable) Locate с опцией loPartialKey и первым параметром указать имя поля, где поиск, вторым - образец из TEdit. Если запись имеется, в датасете она станет активной, а в гриде отобразится другим цветом.
Если же Вам надо найти не только первую, а все записи, в которых поле содержит введенную пользователем подстроку, то поиск надо делать иначе. Кроме того предусмотреть дополнительные визуальные контролы для отображения полей в найденных записях. Сам же поиск лучше всего делать запросом (TQuery), куда в предикат WHERE LIKE .. программно вписать образец
Anatoly Podgoretsky (2005-06-25 13:30:00) [5]Сомневаюсь однако, ты же фразу не в состоянии написать грамотно, куда же с чужим языком. Не верю.
Alex18 (2005-06-25 13:26:00) [6]Все тошто выше написано ненодо чидать Единственное что мне нужно это всю базу DBF отображатся в DBgrid и в Edit я ввожу слова которое надо наити в DBgrid и кординаты ячийки с этим словом записать в фаил TXT, но самая большая проблема что DBF нехочет отображатся DBgrid(е) сообщает что не может подключится к базе. Все потключено правелно все пути тоже правельные к базе
msguns (2005-06-25 11:15:00) [7]Алекс, вы напишите лучше по-английски, лучше поймут, да и ответить тоже смогут на инглише.
msguns (2005-06-25 11:13:00) [8]Берем слово и водим его по гриду. Если DBF не хочет искать, а потом запоминать свои координаты, то берем два тюленя, нерпу и ящик пива и едем к
-=XP=- © и evvcom © за объяснениями.
Орех кокосовый ?
Alex18 (2005-06-25 10:36:00) [9]Искать по базе данных водимое мной слово если находим то запоминаем его кординаты(кординаты ячейки),и почему DBF- нехочет отображатся в DBgrid
evvcom (2005-06-24 14:10:00) [10]Нэ... Твая яшЫк пЫва, мая об'яснАть.
-=XP=- (2005-06-24 13:01:00) [11]Твая два тюленя и одна нерпа. Мая объяснять.
msguns (2005-06-24 12:50:00) [12]мая не панимай, мая объясняй
Тучудище (2005-06-24 11:29:00) [13]Извените но я нечего не понятно
Мая ни панмай ООП, ваша научи миня СЫКУЭЛ и ООП, мая быть благодарна.....
Плохиш (2005-06-24 11:05:00) [14]
> -=XP=- © (24.06.05 11:01) [14]
> Присоединиться, что ли?
> (Да не к автору, к Плохишу!) :)
Предупреждаю, варение и печение с наценкой ;-)
-=XP=- (2005-06-24 11:01:00) [15]А я всё-таки пошлю автора
Присоединиться, что ли?
(Да не к автору, к Плохишу!) :)
Плохиш (2005-06-24 10:56:00) [16]А я всё-таки пошлю автора книжки читать :-)
>Alex18Иди почитай что-нибуть.
msguns (2005-06-24 10:31:00) [17]По-моему ситуация такова: есть датасет, отображаемый в дбгриде.
Юзеру надо, чтобы можно было куда-то (скорее всего в отбелном контроле или даже формочке) ввести некоторое слово-образец.
Затем нажать кнопочку и прога по колонке Name сделала поиск на предмет наличия в полях таблицы (датасета) содержимого, включающего в себя как подстрокууказанный юзером образец (игнорируя или не игнорируя регистр). Найденные записиюзер хочет увидеть :
а) в отдельном списке (листбоксе, стрингриде, дбгриде, комбобоксе и т.д.),
б) в основной сетке, но как-то отмеченными, например цветом,
в) в основной сетке только найденные записи,
г)хрен его знает еще как.
Либо юзер хочет, чтоб поиск осуществлялся до первой (последней, следующей, предыдущей) найденной. При этом основной датасет не меняется и никаких доп.контролов и списков.
Пусть товарищ, у которого помимо незнания баз данных еще и серьезные траблы с русским языком, как-то уточнит. На родном ему языке (можно на украинском или английском - других "моя не понимай")
evvcom (2005-06-24 08:50:00) [18]
> у меня есть допустим база в столбике(Name)
Как это ты умудрился всю базу в один столбик запихать? Научи нас безграмотных, пожалуйста.
> Извените но я нечего не понятно.
Если ты "нечего" не понятно, то я и вовсе...
Virgo_Style (2005-06-23 22:07:00) [19]Похоже, что все-таки [4]...
YurikGL (2005-06-23 21:55:00) [20]
> Alex18 © (23.06.05 20:32) [7]
переведи все это в термины записей и полей и все станет немного понятнее....