我创建了这个简单的测试来从存储过程中读取数据。我一定忽略了一些明显的东西,因为我不知道为什么我继续没有数据。
myReader.HasRows 总是正确的。
我注意到它返回了正确的行数,但是我无法获取行中可能存在的任何数据。
存储过程
ALTER PROCEDURE [dbo].[testProc]
-- Add the parameters for the stored procedure here
@carID uniqueidentifier
AS
BEGIN
SELECT * FROM carTable WHERE carID=@carID
END
VB.Net
Dim cmd As New SqlClient.SqlCommand("testProc", _conn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("carID", carID)
_conn.Open()
Dim myReader As SqlDataReader
myReader = cmd.ExecuteReader()
If myReader.HasRows = True Then
While (myReader.Read())
If Not IsDBNull(myReader.GetString(0)) Then
' do stuff here
End If
End While
End If