ExecuteNonQuery:连接属性尚未初始化
错误“ExecuteNonQuery:连接属性尚未初始化”表示缺少连接SqlCommand 和数据库。要解决此问题,请按照以下步骤操作:
1.将连接分配给SqlCommand
在提供的代码中,在行connection1.Open(); 中建立连接;未分配给 ExecuteNonQuery 方法中使用的 InsertCommand。要解决此问题,请使用构造函数或属性将连接分配给 InsertCommand:
cmd.InsertCommand = new SqlCommand("..."); cmd.InsertCommand.Connection = connection1;
2.使用Using语句进行资源处置
建议使用using语句自动处置像SqlConnection这样的IDisposable对象,语句块退出时也会关闭连接:
using (var connection1 = new SqlConnection(...)) { using (var cmd = new SqlDataAdapter()) { using (var insertCommand = new SqlCommand(...)) { // ... connection1.Open(); } } }
3.优化连接处理
没有必要为 foreach 循环中的每个条目创建新连接。您可以通过在循环外部创建连接和适配器并重用它们来优化它:
var connection1 = new SqlConnection(...); var cmd = new SqlDataAdapter(); var insertCommand = new SqlCommand(...); insertCommand.Connection = connection1; ... connection1.Open(); // ... // No need to close the connection explicitly
以上是为什么我的 ExecuteNonQuery 抛出'连接属性尚未初始化”?的详细内容。更多信息请关注PHP中文网其他相关文章!