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();