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 回答