【问题标题】:Multiple Connection MYSQL VB.NET RowCount多连接 MYSQL VB.NET RowCount
【发布时间】:2013-10-19 22:55:51
【问题描述】:

我在这里有堆栈但不去 我有一个连接到数据库的循环,但过去 2 天在计算行号时遇到问题。也找不到解决办法

    Dim row as Integer
    For i = 100 To 120
        Dim DBconn As MySql.Data.MySqlClient.MySqlConnection = New MySql.Data.MySqlClient.MySqlConnection(My.Settings.DBConnStr)
        Dim da As MySql.Data.MySqlClient.MySqlDataAdapter
        Dim dt As New DataTable
        Dim sqlcmd As New MySql.Data.MySqlClient.MySqlCommand
        sql = "SELECT Sum(D), Sum(P) FROM fin  WHERE K like '" & i.ToString & "%' "
        DBconn.Open()
        da = New MySql.Data.MySqlClient.MySqlDataAdapter(sql, DBconn)
        da.Fill(dt)
        DBconn.Close()
        row = dt.Rows.Count
        MsgBox("i=" & i & "    rows=" & row)
        dt.Clear()
    Next

MSG Box 总是告诉我 RowCount 是 1,当我手动查询 MYSQL Diferent i Gives me Diferent Rows。

【问题讨论】:

    标签: mysql database vb.net sql-like rowcount


    【解决方案1】:

    我确定您是如何让数据适配器填充数据表的。它应该填充数据集。应该是

       DIM ds as New Dataset()
       da = New MySql.Data.MySqlClient.MySqlDataAdapter(sql, DBconn) 
       da.Fill(ds)
       DIM rowCount = ds.Table(0).Rows.Count
    

    试试这个

       DIM rowCount = ds.Tables(0).Select().Count
    

    【讨论】:

    • 改成 DS 还是没有 Rowcount ... 也许这就是我使用 Loop 的原因?
    • 您是否通过单步执行代码来手动检查数据集和表行?我能看到的唯一原因是查询结果只有一行,除非数据集中有多个表。检查 ds.Tbale.Count。确保只有一个。
    • 是的,有 1 或 0 行,如果 While 条件不匹配,则表示没有行,如果有某种行,则为 1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多