我使用这段代码:
Dim connection As SqlConnection
Dim connetionString As String
Dim sqlq As String = "select c.* from(..."
connetionString = "Data Source=...;Initial Catalog=...;User ID=...;Password=..."
connection = New SqlConnection(connetionString)
track3.Text = "Connection... " & DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
Using connection
connection.Open()
track4.Text = "SqlCommand... " & DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
Dim command As SqlCommand = New SqlCommand(sqlq, connection)
track5.Text = "SqlDataReader... " & DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
Dim reader As SqlDataReader = command.ExecuteReader()
track6.Text = "Filling RTB... " & DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
If reader.HasRows Then
........
Do While reader.Read()
.......
reader.Close()
End Using
track7.Text = "Done " & DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
而且我注意到命令'command.ExecuteReader()'消耗大部分时间。这个时间范围有时在 1 到 19 秒之间,这对我来说太长了。有没有更好的方法来做我所做的事情?我需要从数据库中读取一些数据并在富文本框中显示它(不是从 DB 接收到的所有数据)。