0
 myConnection.Open()
    rtb_Address.Clear()
    txt_Name.Clear()
    Dim str As String
    str = "SELECT * FROM table1 WHERE (cus_ID = '" & txt_ID.Text & "')"
    Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)

    dr = cmd.ExecuteReader()

    While dr.Read()
        rtb_Address.Text = dr("cus_Addr").ToString
        txt_Name.Text = dr("cus_Name").ToString
    End While
    myConnection.Close()

dr = cmd.ExecuteReader() のエラー

dr は OleDbDataReader として宣言されています

4

2 に答える 2

0

cus_IDはおそらく数値データ型ですが、文字列でクエリを実行しようとしています: (cus_ID = 'thevalue').

囲みを削除するだけ'です:(cus_ID = thevalue)

または、パラメーター化されたクエリを使用して、SQL インジェクションを防ぎます。

于 2013-10-23T10:03:12.263 に答える
-1

次のことをお勧めします。

 Using cmd As New OleDbCommand("SELECT * FROM table1 WHERE cus_ID = @ID", con)
    cmd.Parameters.AddWithValue("@ID", txt_ID.Text)

    dr = cmd.ExecuteReader()

    While dr.Read()
      rtb_Address.Text = dr("cus_Addr").ToString
      txt_Name.Text = dr("cus_Name").ToString
    End While

 End Using
于 2013-10-23T10:29:13.887 に答える