使用 vb.net 中的文本框在 MS Access 中搜索发票编号

问题描述 投票:0回答:1

我正在开发一个发票软件,并且有一个表格可以搜索已保存的账单。我想使用文本框(文本框名称为“SrchwtInvTBx”)和按钮搜索 MS Access 表(表名称“发票”)中与发票编号相关的项目。数据库可以包含与相同发票号码相关的一项或多项。结果应该进入名为“DGV”的数据网格视图,并且项目应该按照数据库中另一列“Sl_No”中的数字顺序排列在数据网格视图中。代码如下(同样的代码用于查询客户姓名的账单,成功)。

Private Sub SrchwtInvoice()
    If String.IsNullOrEmpty(SrchwtInvTBx.Text) Then
        MsgBox("Please Search with an Invoice Number")
    Else
        Dim Searcher As Integer
        Try
            con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\MSDB.accdb")
            con.Open()
            cmd = con.CreateCommand()
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "select * from Invoice where Inv_ID = '" + SrchwtInvTBx.Text + "'"
            cmd.ExecuteNonQuery()
            dt = New DataTable()
            da = New OleDbDataAdapter(cmd)
            da.Fill(dt)
            Searcher = Convert.ToInt32(dt.Rows.Count.ToString)
            DGV.DataSource = dt
            con.Close()
        Catch ex As Exception
            con.Close()
            MessageBox.Show(ex.Message)
        End Try
    End If
End Sub
vb.net ms-access
1个回答
-1
投票

如果 Inv_ID 是数字,则不带引号:

cmd.CommandText = "select * from Invoice where Inv_ID = " + SrchwtInvTBx.Text + ""
© www.soinside.com 2019 - 2024. All rights reserved.