Здравствуйте, Козьма Прутков, Вы писали:
КП>Здравствуйте, Аноним, Вы писали:
А>>А>>DataSet ds = new DataSet();
А>>custDA.Fill(ds, myTableName);
А>>//изменение данных
А>>custDA.Update(ds, myTableName);
А>>custConn.Close();
А>>
А>>скажите пожалуйста чем будет отличаться если я закрою коннект а потом перед сохранением открою заново вот так
А>>SqlDataAdapter custDA = new SqlDataAdapter("SELECT * FROM Customers", custConn);
А>>custDA.Update(ds, myTableName);
КП>ситуация простая: чем меньшее время ты держишь открытым соединение — тем выше пропускная способность твоего приложения.
КП>Однако, если "изменение данных" — это пара простых операций, то проще все сделать на одном соединении.
КП>На самом деле, для тебя ничем не будет отличаться если не ставил какие-нить специфические опции на подключении,
нет, никаких специфических опцияй я не выставляю, но дело в том что я работаю через с распределённым приложением:
есть клиенты, есть сервер,
клиенты напрямую общаются с сервером а сервер на прямую с БД
клиент -> сервер(remoting) -> sqlserver
на сервере валяется типизированный DataSet который соответствует базе данных на sql servere...
так вот клиенты добавляют и изменяют записи в этом датасете, и я не могу понять как лучше и надежнее обновлять sqlserverную БД...
зы: клиенты добавляют и изменяют записи довольно часто ... я в замешательстве
КП>типа set nocount (для SQL Server) и т.п. — они просто сбросятся, и к тому же не факт, что ты получишь повторно именно то же физическое соединение с БД.
КП>Пересоздание адаптера тоже ничем не грозит. Мало того, скажу по секрету, что адаптеру можно дать закрытое соединение. Тогда он его откроет, сделает свое крамольное дело, а потом закроет обратно.