0

リストボックスと画像ボックスのあるフォームがあります。lisboxには、データベースからのファイル名が入力されます。ユーザーがリストボックスから1つの項目を選択すると、画像が画像ボックスに表示されます。pixName(varchar)MySQLデータベースには、フィールドが含まれるテーブルPixがありますpLocation(varchar)。pLocationに画像のファイルパスを保存しました。

Call Connection()
    With Me
        STRSQL = "Select pLocation From Pix where pixName = " & lstPix.SelectedItem & "'"
        Try
            myCmd.Connection = myConn
            myCmd.CommandText = STRSQL
            reader = myCmd.ExecuteReader
            If reader.Read Then
                Dim path = reader.GetString(0)
                picBox.ImageLocation = path
            End If
        Catch ex As Exception
            MsgBox("no picture")
        End Try
    End With

実行してもエラーはありませんが、リストボックスで1つ選択すると、「画像がありません」と表示されます。どうすればこれを機能させることができますか?また、同じコードを使用して、フォーム内のwmpでビデオを再生できますか?

4

2 に答える 2

0

クエリにアポストロフィがないことは明らかです。クエリを次のように変更します。

STRSQL = "Select pLocation From Pix where pixName = '" & lstPix.SelectedItem.ToString() & "'"

そして、より良い解決策は、代わりにパラメータを使用することです:

STRSQL = "Select pLocation From Pix where pixName = @pixName"
myCmd.Parameters.AddWithValue("@pixName",lstPix.SelectedItem.ToString())
于 2013-02-03T08:33:44.460 に答える