VB.net遇到的问题的,和数据库相关的。恳请帮助。。。
程序代码如下:
Dim Conn As New SqlClient.SqlConnection
Dim Comm As New SqlClient.SqlCommand
Dim DR As SqlClient.SqlDataReader
Dim Connstr As String = "数据库连接字符串"
Conn.ConnectionString=Connstr
Try
Conn.Open()
Try
Comm.Connection=Conn
Comm.CommandText="Select * From Test"
Dr=Comm.ExecuteReader()
While Dr.Read
...数据处理
End While
Finally
Dr.Close()
End Try
Finally
Conn.Close()
End Try
问题在于,当Select * From Test中有数据的时候,程序正确执行,而当没有数据的时候,就会在ExecuteReader()处报错,提示是否有无限循环或无限递归。
[解决办法]
要是Dr是空的,就跳过。
If Dr.HasRows ThenWhile Dr.Read ...数据处理 EndWhile end if
[解决办法]
If DR.HasRows = True Then
While DR.Read
' 此处处理每行数据
End While
End If
这样写应该是对的,你调试一下吧
[解决办法]
这里应该不存在什么无限循环的问题,这种用法肯定是可以的,也不需要使用 HasRows 来先判断一下。检查一下你的循环体内的代码是否存在问题。
[解决办法]
主要是这里:
...数据处理
[解决办法]
if DR isnot nothing then '***********end if
[解决办法]
看不出有什么问题。。。。