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 が既に存在し、最初に閉じる必要があります
この問題は、別のメソッドを作成してそこからテーブルに挿入することで解決できることを知っています。他の方法があるかどうか疑問に思っています。ご意見ありがとうございます。