SQL Express 2005 で .net 4.0 Framework (VB) を使用しています。datareader でネストしながら do を使用する必要があります。何かのようなもの.......
SQLQuery1="Select * from Table1"
cmd = New Data.SqlClient.SqlCommand(SQLQuery1, myConn)
If cmd.Connection.State = 1 Then cmd.Connection.Close()
cmd.Connection.Open()
dr = cmd.ExecuteReader
Do While dr.Read
SQLQuery2="Select * from Table2 where ID=" & dr.item("field1")
cmd2 = New Data.SqlClient.SqlCommand(SQLQuery2, myConn)
If cmd2.Connection.State = 1 Then cmd2.Connection.Close()
cmd2.Connection.Open()
dr2 = cmd2.ExecuteReader
Do While dr2.Read
--------- Execute Insert/Update Statement here ----------------
loop
dr2.close
loop
dr.close
初めて実行しますが、2回目に「Do While dr.Read」に戻ると 、リーダーが閉じているときに読み取りを呼び出す無効な試行というエラーが発生します。 接続文字列で MARS=true を使用していますが、違いは見られません。
私はどこで間違っていますか?
ありがとう