如何计算数据表中的所有行c#

时间:2016-12-14 23:24:17

标签: c# sql database oledb oledbconnection

所以我正在为一个大学项目创建一个消息传递应用程序,我有一个Access in Users数据库,我已正确链接数据库并且可以执行语句但我正在努力解决一个问题,如何计算行数数据表。

事实上,我想做的就是计算用户总数,我的老师告诉我将数据输入DataTable并计算行数。但是,无论我在数据库中拥有多少用户,它总是以2返回。

int UserCount = 0;

        using (OleDbConnection cuConn = new OleDbConnection())
        {
            cuConn.ConnectionString = @"DATASOURCE";
            string statement = "SELECT COUNT(*) FROM Users";

            OleDbDataAdapter da = new OleDbDataAdapter(statement, cuConn);
            DataTable Results = new DataTable();
            da.Fill(Results);
            if (Results.Rows.Count > 0)
            {
                UserCount = int.Parse(Results.Rows[0][0].ToString());
            }
        }

上面的代码是我的老师发送的内容的副本,他说它会起作用。任何帮助将不胜感激。

另外,对不起,如果这是浪费时间,仍然习惯这个StackOverflow的事情......

2 个答案:

答案 0 :(得分:0)

尝试将Users替换为[Users]? 因为Users可能是数据库的关键词。 获取总数的更简单方法是ExecuteScalar方法。

    using (OleDbConnection cuConn = new OleDbConnection())
    {
        cuConn.ConnectionString = @"DATASOURCE";
        string statement = "SELECT COUNT(*) FROM [Users]";

        OleDbCommand cmd = new OleDbCommand (statement, cuConn);
        cuConn.Open();
        int count = (int)cmd.ExecuteScalar();
        if (count > 0)
        {
            //
        }
        cuConn.Close();
    }

答案 1 :(得分:0)

我成功地使用了你的确切代码(连接字符串除外)与sql server,所以可能你的@" DATASOURCE"或MS Access。