![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Редактирование базы данных. (Paradox) [D7, Paradox]
DIS © (2004-10-05 17:14:00)Мастера, подсажите, как можно редактировать запись в базе данных.
Для добавления делаю так:
Query1.SQL.Clear;для редактирования, слышал, используют update, возникает вопрос, как именно изменить конкретную строку базы (таблицы)? Делаю на форме DbEdit, но он не доступен для редактирования.
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;
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