Я спрашиваю, потому что, когда я использую GetUpdateCommand()
или GetInsertCommand()
из моего SqlCommandBuilder
, генерируемый SqlCommand имеет свой член соединения, но в закрытом состоянии. Мне интересно, какое соединение оно использует, потому что я не вижу ни одного члена соединения в этом объекте, и соединение в SqlCommandBuilder.DataAdapter.SelectCommand
открыто (свойства Update/Delete/InsertCommand равны null).Какое соединение использует SqlCommandBuilder для генерации запросов?
Где я должен проверить состояние соединения перед запуском GetUpdateCommand()
или GetInsertCommand()
? Или я должен просто открыть их внутреннюю связь, если она закрыта?
BTW, я использую .Net 4 с SQL Server 2008.
Вы уверены, что это соединение? Он имеет (нуждается) метаданные из SELECT –
Да, я уверен, потому что получаю исключение («ExecuteNonQuery требует открытого и доступного соединения. Текущее состояние соединения закрыто»), когда я выполняю команду, сгенерированную с помощью этого метода. – Antoine