Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.02;
Скачать: 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 вся ветка

Текущий архив: 2005.01.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
14-1102932724
Rule
2004-12-13 13:12
2005.01.02
Может кто сталкивался, надо подключить проектор к компу


4-1100149622
hyper_omsk
2004-11-11 08:07
2005.01.02
com и мобильник


14-1102509436
Alexander Panov
2004-12-08 15:37
2005.01.02
Победа Януковича. Противостояние. (продолжение. Часть 3)


14-1102921584
able
2004-12-13 10:06
2005.01.02
Акустика..


1-1103479224
softmaster
2004-12-19 21:00
2005.01.02
Проблема с формой