Вниз
Скачать: CL | DM;

Как сохранить изменения на сервере Oracle   Найти похожие ветки 

← →
sunvit   (2004-12-05 18:39) [0]

1. Связываю SimpleDataSet с Oracle;
2. Делаю обновление или удаление данных данных: SimpleDataSet.Post или SimpleDataSet.Delete;
3. Потом SimpleDataSet.ApplyUpdates(-1);

А обновление на сервере не происходит??? Как сделать так чтоб было хорошо.


← →
Наталия ©   (2004-12-06 09:07) [1]

А где же commit?


← →
sunvit   (2004-12-06 23:29) [2]

У SimpleDataSet нет commit"a??? А если передавать в SimpleDataSet.DataSet.CommandText, то возбудится ошибка, т.к. SimpleDataSet.DataSet.CommandText="commit" не возвращает набор данных.


← →
Наталия ©   (2004-12-07 06:39) [3]

Я не знаю, что такое SimpleDataSet, но представляю себе так, что если производится какая-либо модификация данных, то должна быть подтверждена транзакция. Так как она у тебя не подтверждена (commit), то и "обновление на сервере не происходит".
Почитай что-нибудь про работу с транзакциями.


← →
sunvit   (2004-12-07 09:52) [4]

Пишу так:
var
 TS: TtransactionDesc;
begin
if not SQLConnection.InTransaction then
MainForm.SQLConnection.StartTransaction(TS);
try
SimpleDataSet.Delete;
finally
if not SQLConnection.InTransaction then
  SQLConnection.Commit(TS);

Выдает ошибку:
dbExpress Error: Multiple Transactions not Enabled.


← →
ЮЮ ©   (2004-12-07 10:25) [5]

если действительно так написано, то открытая транзакция никогда не закрывается:

if not SQLConnection.InTransaction then
 SQLConnection.Commit(TS);


← →
sunvit   (2004-12-07 12:02) [6]

Пишу так:
var
 TS: TtransactionDesc;
begin
if not MainForm.SQLConnection.InTransaction then
 begin
   TS.TransactionID := 1;
   TS.IsolationLevel := xilREADCOMMITTED;
   MainForm.SQLConnection.StartTransaction(TS);
   try
     MainForm.SimpleDataSet.FieldValues["updated"]:=datetostr(date)+" "+timetostr(time);
     MainForm.SimpleDataSet.Post;
     MainForm.SimpleDataSet.ApplyUpdates(-1);
     MainForm.SQLConnection.Commit(TS);
   except
     MainForm.SQLConnection.Rollback(TS);
   end;
 end;
Ошибок нет, но изменений на сервере то же нет!!! В чем дело то???


← →
ЮЮ ©   (2004-12-07 12:11) [7]

>if not MainForm.SQLConnection.InTransaction then

А если транзакция все же неявно стартовала? Тогда весь этот код не выполнится!


← →
ЮЮ ©   (2004-12-07 12:12) [8]

В режиме отладки проходил по этому коду  ?


← →
sunvit   (2004-12-08 01:49) [9]

>> Всем спасибо...

А MainForm.SimpleDataSet.ApplyUpdates(-1) всё же заработало!!! "А мне больше и не надо".



Страницы: 1 вся ветка

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



Память: 0.47 MB
Время: 0.021 c
14-1103019388
AlexG
2004-12-14 13:16
2005.01.02
Кто-нибудь что-нибудь об этом знает?


1-1103130482
Saska
2004-12-15 20:08
2005.01.02
Resize


1-1103287960
Mate_ru
2004-12-17 15:52
2005.01.02
Image


4-1100494137
yurai
2004-11-15 07:48
2005.01.02
Закрыть программу с запросом


9-1093556347
Froll
2004-08-27 01:39
2005.01.02
X-files




   Наверх