c# - mysql如何获取一个表的行数

标签 c# mysql

一夜未眠,翻遍了stackoverflow,我找不到可以解决我问题的方法(函数)。

我写的东西对服务器来说非常难。有没有更聪明的方法来解决这个问题?

这是我的代码:

public static int GetIndexLong(string TblName)
{
    int rowsNbr = 0;
    using(MySqlConnection conn = new MySqlConnection(PublicVariables.cs))
    {
        using(MySqlCommand cmd = new MySqlCommand("SELECT * FROM " + TblName, conn))
        {
            conn.Open();
            using (MySqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    ++rowsNbr;
                }
            }
            return rowsNbr;
        }
    }
}

它可以完成工作,但我知道这不是好方法。

在 .NET 4.0 上使用 C# Express 2008。

最佳答案

你在找计数吗:

SELECT COUNT(*) FROM TableName

在你的代码中它会是这样的:

using(MySqlCommand cmd = new MySqlCommand("SELECT COUNT(*) FROM " + TblName, conn))

或者如果你想返回行数,你也可以试试这个:-

using (MySqlCommand cmd = new MySqlCommand("SELECT COUNT(*) FROM " + TblName, conn))
{
    conn.Open();
    return Convert.ToInt32(cmd.ExecuteScalar());
}

关于c# - mysql如何获取一个表的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19196824/

相关文章:

c# - 执行此 LINQ to XML 查询的更好方法?

php - 遍历用户名的问题

php 获取日期 -1 月

php - 删除成员(member)数据库中注册的成员(member)

c# - 无法在我的动态编译的 C# 应用程序中包含 list

c# - 从使用 TuesPechkin 生成的 PDF 的封面删除上边距

php - 警告: Cannot modify header information - headers already sent by (two headers on one page?)

mysql 查询使用多个 LIKE 表达式返回不正确的结果

c# - 纯 C# 编码的交易

c# - ASP.NET Core CORS WebAPI : no Access-Control-Allow-Origin header