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

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

Редактирование базы данных. (Paradox) [D7, Paradox]


DIS ©   (2004-10-05 17:14:00) 

Мастера, подсажите, как можно редактировать запись в базе данных.
Для добавления делаю так:
Query1.SQL.Clear;
Query1.SQL.Add('INSERT INTO "NEW.DB" (dat, bes, katalog)');
Query1.SQL.Add('VALUES (:dat, :bes, :katalog)');
Query1.Params[0].AsString := DateToStr(Date);
Query1.Params[1].AsString := ''+ComboBox1.Text+'';
Query1.Params[2].AsString := ''+ComboBox2.Text+'';
Query1.ExecSQL;
Query1.close;
для редактирования, слышал, используют update, возникает вопрос, как именно изменить конкретную строку базы (таблицы)? Делаю на форме DbEdit, но он не доступен для редактирования.


msguns   (2004-10-06 09:18:00) [1]

>DIS   (05.10.04 19:59) [2]
>Query1.ExecSQL;
>Query1.close;
>Query1.SQL.Clear;
>Query1.Open;

Получается :
Одним TQuery и читаем, и модифицируем ?
После модификации чистим текст запрос, а потом пустым предложением пытаемся что-то читать ?

Надо, ИМХО, мух отдельно, котлеты отдельно (одним TQuery читать, другим-модифицировать).
Или же использовать "комбинированные" объекты: TTable или TQuery+TUpdateObject


DIS   (2004-10-05 21:41:00) [2]

сейчас попробую


sh   (2004-10-05 21:11:00) [3]

query1.close;
query1.sql.clear;
query1.sql.add('update new.db set column='''+edit1.text+''' where nomer='+edit2.text);
query1.execsql;

Имя столбца в кавычки заключать не надо, как и числовой параметр, а вот текст заключают в апострофы

по моему так...


DIS   (2004-10-05 19:59:00) [4]

помогите разобраться
"new.db" - таблица
set "column" - столбец в котором мы редактируем
:column - значение переменной, на что мы меняем и берем значение из Edit1.Text
where "nomer" -  столбец ????
:id-  значение берем из Edit2.Text
При выполнении выскакивает ошибка "invalid use of keyword Token = ? where"
где то я напутал.

Query1.SQL.Clear;
Query1.SQL.Add('update "new.db" set "column"=:column');
Query1.SQL.Add('where "nomer"=:id');
Query1.Params[0].AsString := ''+Edit1.Text+'';
Query1.Params[1].AsString := ''+Edit2.Text+'';
Query1.ExecSQL;
Query1.close;
Query1.SQL.Clear;
Query1.Open;


Роман Снегирев   (2004-10-05 17:28:00) [5]

update Таблица set Поле=значение where ID=ID


Наверх

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