![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO Transactions [D6, MSSQL]
masik © (2002-01-29 11:12:00)Госопода, подскажите плиз.
Програ работает с БД через ADO, задумка такая что необходимо запустить несколько одинаковых окон для редактирования данных, но разных данных, заблокировать строки для перекресного редактирования это конечно хорошо, нохотелось бы иметь еще и откат. Когда работал с IB, очень удобно было использовать независимые транзакции, а тут.. как я понял идут вложенные транзакции (один ADOConnection).
Можно ли определять в какой транзакции должны происходить изменения, и естественно управлять ее Commit, Rollback, или нужно спроизводить еще один коннект к БД.
masik (2002-01-29 13:05:00) [1]Сенкс
Delirium (2002-01-29 12:58:00) [2]Упс, соврал, извиняюсь, так просто не обратишься, надо так :
procedure TForm1.Button1Click(Sender: TObject);
var c:_Connection;
a:_Command;
begin
ADOTable1.Open;
a:=ADOTable1.Recordset.ActiveCommand as _Command;
c:=a.Get_ActiveConnection;
Caption:=c.Version;
end;
Delirium (2002-01-29 12:31:00) [3]Да, создаётся экземпляр ADOCоnnection "внутри" ADOQuery,
и обратиться к нему можно: ADOQuery1.Cоnnection
masik (2002-01-29 12:02:00) [4]Ну похоже что другого выбора нет, а если я указываю коннектион стринг, в КВЕРИ то коннеко организуется когда я его активизирую?
SergSuper (2002-01-29 11:57:00) [5]Использовать блокировки для отката отредактированных данных - мягко говоря, не очень хорошая мысль.
TSV (2002-01-29 11:46:00) [6]Используй несколько TADOConnection.
Delirium (2002-01-29 11:46:00) [7]А что мешает организовать несколько подключений, т.е. для каждого ADOQuery свой ConnectionString? Таким образом на сервере организуется несколько независимых сессий и всё станет на свои меся :)