1

我对需要在 datagridview 上查看的数据有疑问。贝娄是我的代码:

    Public Class Form3

    Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Dim CONNECT_STRING As String = (...)

Dim cnn As New OleDbConnection(CONNECT_STRING)

        cnn.Open()

        MsgBox(status_narocila.value)

        Dim sql As String = "SELECT artikel.st_artikla, artikel.naziv_artikla, narocilo.kolicina, narocilo.barva_tiska, narocilo.izvedba, narocilo.opombe, narocilo.datum_narocila, narocilo.rok_izdelave, narocilo.status, narocilo.ID FROM (narocilo INNER JOIN artikel ON narocilo.id_artkla = artikel.ID) WHERE(narocilo.ID = '" & status_narocila.value & "')"

        Dim cmd As New OleDbCommand(sql, cnn)

        Dim da As New OleDbDataAdapter(cmd)

        Dim ds As New DataSet

        da.Fill(ds, "artikel")

        cnn.Close()

        DataGridView1.DataSource = ds.Tables("artikel")

    End Sub
End Class

status.narocila.value是整数,我已经对其进行了测试并从中获得了正确的值。代码在没有WHERE子句的情况下工作正常。

4

2 回答 2

0
= '" & status_narocila.value & "')"

应该

= " & status_narocila.value & ")"

no ' 在数字数据类型上。

于 2013-01-23T13:44:07.277 回答
0

如果narocilo.ID也是一个整数,那么问题是您在整数字段上使用文本限定符。

尝试将您的 WHERE 子句更改为:

WHERE(narocilo.ID = " & status_narocila.value & ")"

于 2013-01-23T13:45:57.587 回答