0

我想在一个显示有多少结果的文本框中填充 Access 数据库上的 SQL 计数查询的结果。例如,我在数据库中输入了一个代码 200 次,我希望文本框显示 200。

到目前为止,这是我的代码:

    ID = DataGridView1.CurrentRow.Cells(0).Value
    fn = DataGridView1.CurrentRow.Cells(1).Value
    ln = DataGridView1.CurrentRow.Cells(2).Value
    SKU = DataGridView1.CurrentRow.Cells(4).Value
    FC = DataGridView1.CurrentRow.Cells(5).Value


    Dim countNoTwo As String = "SELECT COUNT skuNo FROM table WHERE skuNo = " & SKU & ""
    Dim connection As New OleDbConnection(duraGadgetDB)
    Dim dataadapter As New OleDbDataAdapter(countNoTwo, connection)
    Dim ds As New DataSet()
    connection.Open()
    dataadapter.Fill(ds, "dura")
    connection.Close()

   txtbox1.Text

如何将数据集的结果绑定到 txtbox1.Text?

4

2 回答 2

1
  • 一、不要使用字符串连接构建sql命令(原因= Sql Injection + Parsing 问题)
  • 其次,如果您的命令只返回一个结果,您可以使用 ExecuteScalar
  • 三、使用Using语句确保你的连接和命令在使用后正确处理

    Dim countNoTwo As String = "SELECT COUNT skuNo FROM table WHERE skuNo = ?"
    Using connection As New OleDbConnection(duraGadgetDB)
        Using command As New OleDbCommand(countNoTwo, connection)
           command.Parameters.AddWithValue("@sku", SKU)
           connection.Open()
           Dim result = Convert.ToInt32(command.ExecuteScalar())
           txtbox1.Text = result.ToString
        End Using
    End Using
    
于 2013-01-27T23:50:10.327 回答
0

尝试这个

Dim dt As DataTable = ds.Tables(0)
txtbox1.Text = dt.Rows(0).Item(0).ToString()
于 2013-01-27T23:31:49.327 回答