using (var connection = new SqlConnection(...))
{
string sql = "SELECT * FROM tableA";
using (var command = new SqlCommand(sql,connection))
{
using (var reader = command.ExecuteReader(...))
{
//***************Sample Start
string sql2 = "INSERT into tableB(column1) VALUES('"+reader["column1"]+"')";
using (var command2 = new SqlCommand(sql2,connection))
{
...
}
//***************Sample End
}
}
}
通过使用上面的代码片段,我相信它是在 C# 中处理 SQL 的最佳实践。现在,在我从 tableA 中检索记录列表之后,对于我想插入到 tableB 中的每一行。
但是,它抛出了一个异常
已经有一个打开的 DataReader 与此命令关联,必须先关闭
我知道这个问题可以通过创建另一种方法并从那里插入到表中来解决,我想知道是否还有其他方法。感谢您的任何意见。