Форум: "Базы";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
ВнизКак сохранить изменения на сервере 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.031 c