问题:
尝试使用 ExecuteNonQuery 执行 SQL 命令时( ),遇到错误,表明连接属性尚未初始化。是什么原因导致此问题?
答案:
错误消息“ExecuteNonQuery:Connection 属性尚未初始化”表明 SqlConnection 对象尚未初始化正确分配给 SqlCommand 对象。要解决此问题,必须显式设置 SqlCommand 的连接属性。
解决方案:
分配连接的一种方法是通过 SqlCommand 类的构造函数:
cmd.InsertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ", connection1);
或者,可以分配连接属性直接:
cmd.InsertCommand.Connection = connection1;
其他注意事项:
示例代码:
using (var connection1 = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=syslog2;Integrated Security=True")) using (var cmd = new SqlDataAdapter()) using (var insertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ")) { insertCommand.Connection = connection1; cmd.InsertCommand = insertCommand; // Other code... connection1.Open(); insertCommand.ExecuteNonQuery(); }
以上是为什么 `ExecuteNonQuery()` 会失败并出现'未初始化的连接属性”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!