我正在开发一个发票软件,并且有一个表格可以搜索已保存的账单。我想使用文本框(文本框名称为“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
如果 Inv_ID 是数字,则不带引号:
cmd.CommandText = "select * from Invoice where Inv_ID = " + SrchwtInvTBx.Text + ""