Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

Удаление записей из таблицы 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
4-1100025299
AlphA
2004-11-09 21:34
2004.12.26
Скрин-шот не снимается, когда прогрмму вызывает Apache


14-1102083278
Igor_thief
2004-12-03 17:14
2004.12.26
Delphi 2005 и RAVE


1-1102524115
Костя
2004-12-08 19:41
2004.12.26
чтение файла


1-1102502874
mefisto
2004-12-08 13:47
2004.12.26
Вставка в ячейку DBGrid иконки 16х16 или Bitmap


8-1096524938
Alex_s
2004-09-30 10:15
2004.12.26
Icon image not valid