私は ASP.NET で多くの開発を行っていますが、SQLConnection ごとに 1 つの SQLDataReader しか開くことができないことを知っています。ただし、これは VB.NET (フォーム アプリケーション) には当てはまらないようです。つまり、1 つの接続オブジェクトに対して複数の SQLDataReader を開いています。これは VB.NET で許可されていますか?
これに対する明らかな答えがない場合は、いくつかのコードを投稿します。
ここにいくつかのコードがあります:
Public Function CheckActiveReviews()
Dim objCon As SqlConnection
Dim objCommand As SqlCommand, objCommand2 As SqlCommand
Dim objDR As SqlDataReader, objDR2 As SqlDataReader
Try
objCon = New SqlConnection("Data Source=TestDatabase;Initial Catalog=TestTable;User ID=TestUser;Password=TestPassword;MultipleActiveResultSets=True")
objCommand = New SqlCommand
objCommand.Connection = objCon
objCommand2 = New SqlCommand
objCommand2.Connection = objCon
objCon.Open()
objCommand.CommandText = "SELECT ID FROM Person WHERE PersonID > 1000"
objDR = objCommand.ExecuteReader()
Do While objDR.Read
objCommand2.CommandText = "SELECT * FROM Sport WHERE PersonID = @PersonID "
objCommand2.Parameters.AddWithValue("@PersonID", objDR("ID"))
objDR2 = objCommand2.ExecuteReader
Loop
Catch ex As Exception
End Try
End Function