ストアド プロシージャからデータを読み取るためのこの簡単なテストを作成しました。なぜデータが得られないのか理解できないので、明らかな何かを見落としているに違いありません。
myReader.HasRows は常に true です。
正しい行数が返されていることに気付きましたが、行にある可能性のあるデータを取得するのに問題があります。
ストアド プロシージャ
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