Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果方法已经可用,我讨厌迭代,但这是我能想到的最短的一点: MySqlCommand cmd = new MySqlCommand(query, connection); MySqlDataReader reader = cmd.ExecuteReader(); int rowcount = 0; while(reader.Read()){ rowcount++; }_C#_Mysql_Mysqldatareader - Fatal编程技术网

C# 如果方法已经可用,我讨厌迭代,但这是我能想到的最短的一点: MySqlCommand cmd = new MySqlCommand(query, connection); MySqlDataReader reader = cmd.ExecuteReader(); int rowcount = 0; while(reader.Read()){ rowcount++; }

C# 如果方法已经可用,我讨厌迭代,但这是我能想到的最短的一点: MySqlCommand cmd = new MySqlCommand(query, connection); MySqlDataReader reader = cmd.ExecuteReader(); int rowcount = 0; while(reader.Read()){ rowcount++; },c#,mysql,mysqldatareader,C#,Mysql,Mysqldatareader,首先,创建这个类: public static class Extensions { public static int Count(this MySqlDataReader dr) { int count = 0; while(dr.Read()) count++; return count; } } 这将在MySqlDataReader上实现.Count() int count = read

首先,创建这个类:

public static class Extensions
{
    public static int Count(this MySqlDataReader dr)
    {
        int count = 0; 
        while(dr.Read())
            count++;

        return count;
    }
}
这将在MySqlDataReader上实现.Count()

int count = reader.Count();
例如:

string sql=  "SELECT * FROM TABLE";
MySqlCommand cmd = new MySqlCommand(sql, connection);
MySqlDataReader reader = cmd.ExecuteReader();
int count = reader.Count();

首先,创建这个类:

public static class Extensions
{
    public static int Count(this MySqlDataReader dr)
    {
        int count = 0; 
        while(dr.Read())
            count++;

        return count;
    }
}
这将在MySqlDataReader上实现.Count()

int count = reader.Count();
例如:

string sql=  "SELECT * FROM TABLE";
MySqlCommand cmd = new MySqlCommand(sql, connection);
MySqlDataReader reader = cmd.ExecuteReader();
int count = reader.Count();


谢谢,我试图避免多次查询,即选择计数(*)然后是我的实际选择,这不是他们要求的。谢谢,我试图避免多次查询,即选择计数(*)然后是我的实际选择,这不是他们要求的。谢谢,我试图避免多次查询,即选择计数(*)然后是我的实际选择,我将给DataTable一个tryThanks,我试图避免执行多个查询,即SELECT计数(*),然后我实际的SELECT,我将给DataTable一个tryth这并没有回答我的问题,我正在做一个SELECT,需要得到返回的行数,正如您所说的,这是针对数据库修改查询的。我想我看到,RecordsAffected仅在结果集关闭后才被更新——这是一个问题,此外,它只处理更改的行。这并没有回答我的问题,我正在进行选择,需要获得返回的行数,正如您所说的,这是针对数据库修改查询的。我想我看到,RecordsAffected只有在结果集关闭后才会更新,这是一个问题,此外,它只处理更改的行。谢谢您的帮助。很好的解决方案这不适用于;您必须指定列。即使如此,彼得下面的观点是正确的——这只会返回一行编辑:或将*置于count()之前。尽管听起来很愚蠢,但这并不能回答问题。谢谢您的帮助。很好的解决方案这不适用于;您必须指定列。即使如此,彼得下面的观点是正确的——这只会返回一行编辑:或将*置于计数()之前。尽管听起来很愚蠢,但这并不能回答问题。请注意,出于某种原因,计数前的*起作用,而计数后的*起作用——尽管您可以在此处指定列。请注意,出于某种原因,计数前的*起作用,而计数失败后的*——尽管您可以在那里指定列。应该是
dt.Rows.count
。应该是
dt.Rows.count
string query = "SELECT * FROM reports, software, platforms, versions "
                    + "WHERE EmailVerified=@verified AND reports.SoftwareID=software.id AND reports.PlatformID=platforms.id "
                    + "AND reports.VersionID=versions.id AND BugReportAcceptedNotificationSent=@notificationSent";
                using (MySqlCommand cmd = new MySqlCommand(query, db.conn))
                {
                    cmd.Parameters.AddWithValue("@verified", "1");
                    cmd.Parameters.AddWithValue("@notificationSent", "0");


                    using (MySqlDataReader reader = cmd.ExecuteReader())
                    {


                  // create a new connection db.conn2 then  
                  MySqlCommand cmd2 = new MySqlCommand(query, db.conn2))
                   cmd2.Parameters.AddWithValue("@verified", "1");
                   cmd2.Parameters.AddWithValue("@notificationSent", "0");
                     MySqlDataReader reader2 = cmd2.ExecuteReader();
                     int numberofrow=0;
                    while(reader2.Read())
                     numberofrow++;


                         //your codes......







                    }
MySqlCommand cmd = new MySqlCommand(query, connection);
MySqlDataReader reader = cmd.ExecuteReader();

int rowcount = 0;
while(reader.Read()){
 rowcount++;
}
public static class Extensions
{
    public static int Count(this MySqlDataReader dr)
    {
        int count = 0; 
        while(dr.Read())
            count++;

        return count;
    }
}
int count = reader.Count();
string sql=  "SELECT * FROM TABLE";
MySqlCommand cmd = new MySqlCommand(sql, connection);
MySqlDataReader reader = cmd.ExecuteReader();
int count = reader.Count();