【发布时间】:2011-01-10 15:42:20
【问题描述】:
我问是因为当我使用 SqlCommandBuilder 中的 GetUpdateCommand() 或 GetInsertCommand() 时,生成的 SqlCommand 设置了其 Connection 成员,但处于关闭状态。我想知道它使用什么连接,因为我在这个对象中看不到任何连接成员,并且SqlCommandBuilder.DataAdapter.SelectCommand 中的连接是打开的(更新/删除/插入命令属性为空)。
在运行GetUpdateCommand() 或GetInsertCommand() 之前,我应该在哪里检查连接状态?或者如果它关闭了,我应该只打开它们的内部连接吗?
顺便说一句,我将 .Net 4 与 SQL Server 2008 一起使用。
【问题讨论】:
-
您确定它需要连接吗?它有(需要)来自 SELECT 的元数据
-
是的,我确定,因为当我执行使用此方法生成的命令时,出现异常(“ExecuteNonQuery 需要打开且可用的连接。连接的当前状态为关闭”)。
标签: c# .net sql database-connection