VB.NET で次のコードを使用して、OLE OBJECT タイプのイメージ フィールドを持つ MS ACCESS データベースから特定のユーザー イメージを取得します。
Dim strSql As String = ""
'For Image
strSql = "Select pic from emp_tb WHERE userid='" + textbox1.Text + "'"
Dim sqlCmd As New OleDbCommand(strSql, con)
'Get image data from DB
Dim imageData As Byte() = DirectCast(sqlCmd.ExecuteScalar(), Byte())
'Initialize image variable
Dim newImage As Image = Nothing
If Not imageData Is Nothing Then
'Read image data into a memory stream
Using ms As New MemoryStream(imageData, 0, imageData.Length)
ms.Write(imageData, 0, imageData.Length)
'Set image variable value using memory stream.
newImage = Image.FromStream(ms, True)
End Using
End If
でピクチャーボックスに取り出します
picturebox1.image=newImage
私のエラー:
行番号300は
newImage = Image.FromStream(ms, True)
しかし、 「Perameterが無効です」というエラーメッセージが表示されます。sqlインジェクションを回避するためにパラメーターを使用する方法と、このエラーを解決する方法を教えてください........