![]() |
|
![]() ![]() ![]() |
|
Palladin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 1 Всего: 17 |
Вообщем делаю курсач, всё сделано, но одна функция не пашет:
короче при нажатии на кнопку "Поиск" появляется новая форма в которой есть dbgrid и 4 edit-a есть возможность искать по одному из полей(это работает ![]() Вот код поиска по одному из полей:
Это работает, а вот при нажатии на кнопку поиск по всем полям что-то не выходит, ошибки пишет ![]() вот то что я написал в коде поиск по всем полям
Помогите здесь подправить ![]() -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
||||
|
|||||
Fast |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 21.3.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Извини придётся всё переделывать ![]() Вот как всё должно быть ![]()
|
|||
|
||||
Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 1 Всего: 17 |
К сожалению здесь что-то не так, поиск не отображается в dbedite, при нажатии на кнопку поиск по всем полям, весь dbgrid очищается, какбудто конект проподает к adoconnection
![]() -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
sexton |
|
|||
![]() sexton=Пономарь (eng) ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 5.5.2004 Где: Ульяновск Репутация: нет Всего: 9 |
Имхо Open, а не ExecSQl... ExecSQL вроде не возвращает курсор для отображения
Это сообщение отредактировал(а) sexton - 21.4.2006, 18:42 |
|||
|
||||
Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 1 Всего: 17 |
Нет Open тоже не катит, ошибку выдаёт, ошибка синтаксиса и т.п.
![]() -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 1 Всего: 22 |
ну блин.... ну дурные проблемы ведь.
гляди. открой пустой проект. кинь на форму обычный Query (в DatabaseName поставь "DBDEMOS"), DataSource, привязанный к этому квери, DBGrid, привязанный к датасорсу, кинь на форму четыре TEdit и одну педаль сиречь TButton. в Query1.SQL напиши 'select * from biolife'. вот код всего проекта:
(1) на самом деле, это сляпано на глазок, и это не лучший способ. лучше, если выставить TEdit'ам свойство Tag равным нужному индексу в массиве полей, и делать перебор всех контролов, проверять, что это едит, брать его тэг, и по тэгу получать имя поля. единственный возможный глюк в этом коде - Багланд умудрились засунуть в таблицу поле с пробелом (!) в его имени. у меня лично не работает фильтр по Species Name, даже по "Sepices Name" не работает, я фиг его знает, как эти дятлы додумались до такого. так делать нельзя никогда ![]() второй момент, у меня используется OR - т.е. если хоть одно из введённых юзверем значений совпадёт с нужным полем - то запись с этим полем отобразиться. но могут быть и другие условия, AND, например ![]() успехов ![]() -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
Fast |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 21.3.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Так может быть просто нету записей которые удовлетворяют условию!!!!!!!!!! А вообще Select * From обычно делают через ADOdataset !!! Попробуй так !!!
Если не будет работать выполняй это действие через AdoDataSet а не через AdoQuery Это сообщение отредактировал(а) Fast - 22.4.2006, 01:19 |
||||
|
|||||
x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 1 Всего: 22 |
Fast, у тебя всегда прошивается 'where', т.е. если юзверь ничего не выбрал, запрос будет выглядеть как 'select * from ... where' - и он всегда даст ошибку. там нужна проверка.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
Fast |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 21.3.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
А да что то я не обратив внимание ![]() Щас исправлю ![]() Добавлено @ 02:08 Вот так ![]()
Это сообщение отредактировал(а) Fast - 22.4.2006, 02:11 |
|||
|
||||
Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 1 Всего: 17 |
Блин всёровно не пашет, ошибки за ошибками, весь день убил на это, чёто не выходит, может у когонить есть ссылка на материал по данному поводу
-------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
Fast |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 21.3.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
А тебе обязательно использовать SQL ?
Добавлено @ 01:41 Или скинь сейчас сорцы я посмотрю ![]() |
|||
|
||||
TheCetus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 9.3.2006 Репутация: нет Всего: 2 |
Fast, в 10-й строке лучше написать следующим образом:
mFilter := 'Select * From BOOK Where 1=1 '; тогда если пользователь не введет ни одного условия ошибки вылетать не будет... в твоем же случае запрос примет вид 'Select * From BOOK Where ' , что несомненно приведет к ошибке |
|||
|
||||
Fast |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 21.3.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Я это не просто так написал ![]() |
|||
|
||||
Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 1 Всего: 17 |
Мне не обязательсно SQL, я пробовал через фильтр, по одному полю ищет прекрасно, а вот когда по нескольким то фигня какаята, нехочет искать, то отобразит не то что нужно, то вообще всё уберёт и т.п. Я готов выслушать любые предложения по поводу поиска
![]() -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |