在.NET中,SqlDataReader可以检索多个记录集:
Dim Connection As New SqlConnection(SomeConnectionString)
'Note that the command will generate three result
Dim Command As New SqlCommand("select '1a', '1b'; " & _
"select '2a', '2b', '2c'; " & _
"select '3a', '3b'; ", Connection)
Dim Reader As SqlDataReader
Connection.Open()
Reader = Command.ExecuteReader
Do
While Reader.Read
'Do something with the data
End While
Loop While (Reader.NextResult) 'Proceed to next result
Reader.Close()
Connection.Close()
.NextResult将阅读器移至下一个结果.如何在PHP中做到这一点?我基本上想避免多次往返数据库.
注意:.Read这里移动下一行,而.NextResult移动到下一个结果.
1个查询,3个结果:
结果1
1a 1b
结果2
2a 2b 2c
结果3
3a 3b
注意:行不等于结果.结果更像是一个表或一组行.
解决方法:
如果您正在使用PDO,则可以通过使用PDOStatement->nextRowset()来执行此操作.是否支持此功能完全取决于您要连接的数据库以及所使用的PDO驱动程序.