Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по БД


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)

На каой БД остановился? И, видимо, ты пытаешься всё запихнуть в одну таблицу, называя её базой.


Наверх

Титульная страница Поиск, карта сайта Написать письмо