计算vb中数据库或数据集中的记录数

时间:2017-02-15 10:03:40

标签: sql database vb.net

我目前正在开展一个项目,我需要知道数据库中单个表中有多少条记录,因为记录数量会根据用户的输入而变化。有没有办法编写一个可以计算出记录数量的函数是我的数据库?

以下是我目前无法使用的代码。

    dbProvider = "PROVIDER=Microsoft.JET.OLEDB.4.0;"
    TheDatabase = "/TeachersData.mdb"
    FullDatabasePath = CurDir() & TheDatabase
    dbSource = "Data Source = " & FullDatabasePath

    con.ConnectionString = dbProvider & dbSource

    con.Open()
    NoOfRecords = "SELECT COUNT(*) FROM Teachers"
    sql = "SELECT * FROM Teachers"

    RecordNumbers = New OleDbDataAdapter(NoOfRecords, con)
    da = New OleDbDataAdapter(Sql, con)
    da.Fill(ds, "TeachersData")

    con.Close()
End Sub

Sub VerifyDetails()
    For i = 0 To Len(RecordNumbers)
        If Initials.Text = ds.Tables("TeachersData").Rows(i).Item(1) Then
            Salt = ds.Tables("TeachersData").Rows(i).Item(3)
        End If
    Next

1 个答案:

答案 0 :(得分:1)

你正在与两个OleDbDataAdapters混淆。您使用正确的查询(RecordNumbers)准备一个,然后填写另一个(da) 但是你真的不需要任何OleDbDataAdapter。只是一个OleDbCommand来执行

con.Open()
Dim cmd = new OleDbCommand("SELECT COUNT(*) FROM Teachers", con)
Dim count = Convert.ToInt32(cmd.ExecuteScalar())

现在count包含Teachers表中的记录数。