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

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

SQL [D5, Paradox]


SergeN ©   (2003-03-19 10:52:00) 

Подскажите пожалуйста, как редактировать запись с помощью Query.
Например, есть таблица с одним полем. Найдена запись и отбражается в Edit1. Как после изменения Edit1.Text послать запрос на редактирование записи?

ЗЫ: Нужно именно Edit, а не DBEdit. Просто пример привёл не удачный. На самом деле таблица с 12 полями и отображается в StringGrid. Ну это не важно...


Соловьев   (2003-03-19 15:59:00) [1]

зачем это все время делать
>query1.sql.Add("insert into "People.db" (Workplace)");
> query1.sql.Add("values (:prm)"
от Prepare выгоды не получишь...
insert into "People.db" (Workplace)
values (:prm)

надо задать в IDE ...


Жук   (2003-03-19 15:45:00) [2]


> Соловьев © (19.03.03 14:39)
>
> не нужно


Что "не нужно" ?


Соловьев   (2003-03-19 14:39:00) [3]


> query1.sql.Add("insert into "People.db" (Workplace)");
> query1.sql.Add("values (:prm)");

не нужно


Жук   (2003-03-19 14:08:00) [4]

Передавать значения через параметры :
if query1.Active then query1.close;
query1.sql.Clear;
query1.sql.Add("insert into "People.db" (Workplace)");
query1.sql.Add("values (:prm)");
query1.Prepare;
query1.ParamByName["prm"].AsString:=EWorkplace.Text;
query1.ExecSQL;


SergeN   (2003-03-19 13:56:00) [5]

У меня ещё один вопрос нарисовался.
Как в поле записать такую запись "Название"?

Запрос делаю так:
query1.close;
query1.sql.Clear;
query1.sql.Add("insert into "People.db" (Workplace)");
query1.sql.Add("values (""+EWorkplace.Text+"")");
query1.ExecSQL;

Workplace-поле с текстовым типом данных.
EWorkplace-это TEdit.
Когда в него вводятся символы " ессно возникает ошибка. Как этого избежать?


Max Zyuzin   (2003-03-19 13:03:00) [6]

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


SergeN   (2003-03-19 11:18:00) [7]


> Жук © (19.03.03 10:59)

Спасибо... Блин,я опять ExecSQL и Open перепутал. :))
Пошло дело...


Соловьев   (2003-03-19 11:01:00) [8]

MyQuery.SQL.Clear;

> MyQuery.SQL.Add(update MyTable set f1=+"Edit1.Text+"where
> ...");
> MyQuery.ExecSQL;

Можно еще параметры использовать...


Жук   (2003-03-19 10:59:00) [9]

MyQuery.SQL.Add(update MyTable set f1=+"Edit1.Text+"where ...");
MyQuery.ExecSQL;


Наверх

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