0

このエラーが発生する理由を教えてください

条件式のデータ型が一致しません。

Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick

    dp = "Provider=Microsoft.Jet.OLEDB.4.0;"
    src = "Data source=c:\Database\licdb.mdb"        
    con.ConnectionString = dp & src
    con.Open()

    query = "select * from year2008 where id = '" & id & "'"
    da = New OleDb.OleDbDataAdapter(query, con)
    da.Fill(ds1, "tab")
    TextBox1.Text = ds1.Tables("tab").Rows(id).Item(0)
    TextBox2.Text = ds1.Tables("tab").Rows(id).Item(1)
    TextBox3.Text = ds1.Tables("tab").Rows(id).Item(2)
    TextBox4.Text = ds1.Tables("tab").Rows(id).Item(3)
    TextBox5.Text = ds1.Tables("tab").Rows(id).Item(4)
    TextBox14.Text = ds1.Tables("tab").Rows(id).Item(5)
    TextBox7.Text = ds1.Tables("tab").Rows(id).Item(6)
    TextBox8.Text = ds1.Tables("tab").Rows(id).Item(7)
    TextBox9.Text = ds1.Tables("tab").Rows(id).Item(8)
    TextBox10.Text = ds1.Tables("tab").Rows(id).Item(9)
    TextBox16.Text = ds1.Tables("tab").Rows(id).Item(10)
    TextBox11.Text = ds1.Tables("tab").Rows(id).Item(11)
    con.Close()
End Sub
4

1 に答える 1

0

変数「id」は、ここのコードでは定義されていません。おそらく問題は、変数「id」の型がデータベースの列「id」と同じ型ではないことです。変数「id」が数値ではなく、テーブル列「id」が数値データ型の場合、このエラーが発生します。

変数「id」をチェックして、数値が含まれていることを確認できます。

if isnumeric(id) then...
于 2013-10-27T03:56:40.003 に答える