![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по БД
snake-as © (2009-02-15 08:39:00)Здравствуйте. Стыдно, но я ни разу не работал с БД(очень стыдно). Точнее с БД работал, но поиск не организовывал. Скажите, правильно ли я делаю, а то мне кажется, что это как-то примитивно, а других способов я не найду:
Есть три параметра: Номер, Адрес, Дата.
Они вводятся через Edit
Потом я пишу в процедуре, например
SqlText := 'Select * from База';
Затем, в зависимости от того, был ли ввден параметр, или он остался пустой, пишу, например:
if Adress <> '' then
SqlText := SqlTExt + ' where Адрес = ' + Adress;
И потом делаю такой SQL запрос.
Германн (2009-02-17 00:43:00) [1]
> MsGuns © (16.02.09 21:53) [18]
>
> >Jeer © (16.02.09 17:39) [16]
> >Юрий Зотов © (16.02.09 17:54) [17]
>
> 1) Читаем [11], [14].
> 2) Достаем платок
> 3) Вытираемся
Изучаем русский. :)
А именно частицу "ся" и её применение.
MsGuns (2009-02-16 21:53:00) [2]>Jeer © (16.02.09 17:39) [16]
>Юрий Зотов © (16.02.09 17:54) [17]
1) Читаем [11], [14].
2) Достаем платок
3) Вытираемся
;)))
Юрий Зотов (2009-02-16 17:54:00) [3]> пока читал, весь обрызгался
Правильнее было бы: пока писал, весь обрызгался...
:о)
Jeer (2009-02-16 17:39:00) [4]
> весь обрызгался :)
Стареем-с ?
Чем обрызгался-то ? :))
MsGuns (2009-02-16 17:27:00) [5]Блин, пока читал, весь обрызгался :)
Anatoly Podgoretsky (2009-02-16 14:50:00) [6]> Sergey13 (16.02.2009 14:25:12) [12]
Тьфу.
Johnmen (2009-02-16 14:25:00) [7]Такай синенькая, с белой черточкой...
Sergey13 (2009-02-16 14:25:00) [8]> [10] snake-as © (16.02.09 14:22)
Какой еще вкладке? Метод у кверика поменяй.
snake-as (2009-02-16 14:25:00) [9]тьфу.
snake-as (2009-02-16 14:22:00) [10]Не могу найти. На какой вкладке?
KSergey (2009-02-16 14:19:00) [11]> snake-as © (16.02.09 14:16) [7]
ExecSQL
Sergey13 (2009-02-16 14:19:00) [12]> [7] snake-as © (16.02.09 14:16)
Наверное вместо Execute вызываешь Open.
snake-as (2009-02-16 14:16:00) [13]Люди добрые, подскажите, как делать запросы на обновление таблицы. В Query выскакивает мессэдж, что типа нет возвращаемого параметра и т.п. А это напрягает, а убрать не могу.
AndreyV (2009-02-15 10:57:00) [14]> [2] snake-as © (15.02.09 09:14)
> Да я ее базой так называю, для примера. А остановился на
> Access, мне больше не нужно. И пользователю легко открыть
> и работать легко.
Пользователю не надо ничего знать о таблицах, а вот тебе вряд ли достаточно одной.
sniknik (2009-02-15 10:19:00) [15]> Но имеется возможность использовать ... TQuery TTable в разных вариантах.
нужно изучать не компоненты а технологию... т.к. например для ADO названные попросту вредны, и введены похоже исключительно для того чтобы запутывать начинающих... не дать им понять как на самом деле там все работает.
для ADO (что наверняка при "остановился на Access") не рекомендуются к использованию TADOQuery, TADOTable, TADOStoredProc, просто удали их с палитры компонент, они тебе никогда не понадобятся при правильной работе с ADO. пользуйся тем что осталось, это "родные" для технологии.
> Есть три параметра: Номер, Адрес, Дата.
> был ли ввден параметр
вот сам же называешь их параметрами, а в запрос вставляешь строкой...
> SqlText := 'Select * from База';
* в рабочих запросах вставлять нежелательно, приводит к дополнительным действиям на sql сервере, и мешает работать оптимизатору в тех sql серверах в которых он есть...
старайся перечислять список полей явно. вообще все лучше делать явно, преобразования, объединения, т.е. все что может иметь скрытую форму записи.
snake-as (2009-02-15 09:26:00) [16]Спасибо!
palva (2009-02-15 09:23:00) [17]SELECT не модифицирует данные а только их получает из базы
INSERT вставляет новую строку в таблицу
UPDATE модифицирует существующие строки в таблице
DELETE удаляет
Но имеется возможность использовать TRecordset TQuery TTable в разных вариантах. Строки таблицы попадают в Recordset при помощи запроса SELECT. С Recordset программа работает примерно как с двумерным массивом, изменяет дополняет удаляет строки. А потом Recordset сам, без участия программиста, выдает нужные INSERT. Содержимое Recordset видно через поля ввода гриды и т. д., присоединеные через посредника Datasource.
Похоже это все компоненты, которые нужно знать для начала.
snake-as (2009-02-15 09:14:00) [18]Да я ее базой так называю, для примера. А остановился на Access, мне больше не нужно. И пользователю легко открыть и работать легко.
AndreyV (2009-02-15 09:07:00) [19]> [0] snake-as © (15.02.09 08:39)
На каой БД остановился? И, видимо, ты пытаешься всё запихнуть в одну таблицу, называя её базой.