VB 2008 で作成しているプログラムで表示したい ID カード データベースにいくつかの顔写真があります。次のコードは Microsoft のサポート記事に基づいています。 .
aiuQuery.CommandText = "select a.ImageData From Images a, Cardholders b WHERE b.UserText6 = '" & _
empID & "' And a.CardholderID = b.CardholderID"
aiuReader = aiuQuery.ExecuteReader
If aiuReader.Read Then
Dim bytBLOBData(aiuReader.GetBytes(1, 0, Nothing, 0, Integer.MaxValue) - 1) As Byte
aiuReader.GetBytes(1, 0, bytBLOBData, 0, bytBLOBData.Length)
Dim stmBLOBData As New MemoryStream(bytBLOBData)
pbHeadShot.Image = Image.FromStream(stmBLOBData)
End If
aiuReader.Close()
'If' ブロック内の最初の行 (Dim bytBLOBData...) は、「インデックスが配列の範囲外でした」というエラーを生成します。
プログラムの外部でテストしたとおり、SQL は正しいです。
このエラーの原因について何か提案はありますか? これについてもっと良い方法はありますか?