ALV>А почему ручное управление транзакциями не совсем идеологически правильно? А как же тогда управлять апдейтом набора данных?
идеологически неправильным я считаю работу в AutoCommit режиме по умолчанию, любое изменение должно проходить в рамках транзации по определению. Это все я говорю относительно Oracle, где нет необходимости явно стартовать транзакцию клиенту, так как она неявно запускается сервером при первом изменении данных. Я с ADO.NET работаю еще мало, но ряд моментов с классом OracleTransaction мне не очень нравятся. AutoCommit — понятно что плохо. Но когда я смотрю на трафик SQL-запросов в БД и вижу, что пока я не стартовал транзакцию идут чистые SELECT'ы. После того как прошел апдейт БД и я вызвал transactio.Commit() ADO.NET перед кажым следующим запрососм SELECT в БД выдает команду ROLLBACK! Зачем? Причем как транзакцию ни убивай (Dispose,=null,...) rollback'и все идут и идут. Когда внаглую через рефлексию для приватной переменной OracleConnectio._transaction присваиваю null — ADO.NET успокаивается и в БД опять идут чистенькие запросики SELECT. Может кто подскажет более простой вариант действий, или я слишком многого и непонятного хочу от ADO.NET?

PS. MS VisualStudio .NET 2003, OracleClient — стандартный, поставляемый с VS, Driver — Поставщик Microsoft OLE DB для Oracle (MSDAORA.1)