1

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 は正しいです。

このエラーの原因について何か提案はありますか? これについてもっと良い方法はありますか?

4

1 に答える 1