Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизУдаление записей из таблицы Oracle Найти похожие ветки
← →
snl73 © (2004-11-21 10:04) [0]Hi, многоуважаемый All!
Для доступа к Oracle использую DOA 3.4.5
У меня такие вопросы:
1) Удаление записи из базы.
Делаю так:
на форме лежит компонент OracleQuery.
Добавляю переменную id : String;
в SQL прописываю delete from MyTable where rowid = :id.
в обработке события на удаление прописываю:OracleQuery.SetVariable("id", DataSet.RowId);
OracleQuery.Execute;
DataSet.Close;
DataSet.Open;
DataSet связан с той же таблицей.
после всех этих манипуляций ничего не происходит.
И еще не отслеживается RowID, хотя точно известно, что это поле есть (служебное Oracle)
Пытаюсь отследить так:procedure TfOst.dbgNezostKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (KEY = VK_UP) or (KEY = VK_DOWN) then Label1.Caption := " RowID = " + DataSet.RowId;
end;
2) как перевести DataSet в режим Edit.
Конструкция DataSet.Edit вызывает exception:
OracleDataSet: Cannot modify a read-only dataset.
а при использовании ADO все работает без проблем.
← →
Sergey13 © (2004-11-22 09:38) [1]2snl73 © (21.11.04 10:04)
1.А зачем в этом случае пользоваться rowid? Достаточно просто ID.
delete from MyTable where id = :id
OracleQuery.SetVariable("id", DataSetId.asInteger);
2.Для этого в текст запроса надо ввести RowId, типа
Select *,rowid from table_name
← →
Petr V. Abramov © (2004-11-22 12:30) [2]Если есть желание все insert/update/delete делать ручками (что, IMHO, правильно) поставьте CachedUpdates в true
← →
snl73 © (2004-11-26 20:50) [3]Спасибо за помощь в решении проблемы. Помогло это:
> 2.Для этого в текст запроса надо ввести RowId, типа
> Select *,rowid from table_name
только надо перечислять все запращиваемые поля
← →
Внук © (2004-11-27 16:39) [4]>>только надо перечислять все запращиваемые поля
Не надо, достаточно написать
Select table_name.*,table_name.rowid from table_name
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c