Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.038 c
1-1102952442
alex145
2004-12-13 18:40
2004.12.26
Главная форма


14-1101764522
Knight
2004-11-30 00:42
2004.12.26
Москвичи, кто слышал фамилию Трюховецкий?


8-1096287435
kosenka
2004-09-27 16:17
2004.12.26
DSPack и скриншот


9-1093546246
Melamed
2004-08-26 22:50
2004.12.26
Вопрос по Speech API


1-1102647545
Relaxxx
2004-12-10 05:59
2004.12.26
Отрезание конца строки, как так сделать?




   Наверх