从C#中的OleDbDataReader获取检索记录计数?
我想从C#中的从C#中的OleDbDataReader获取检索记录计数?,c#,sql,oledbdatareader,C#,Sql,Oledbdatareader,我想从C#中的OleDbDataReader获取检索记录计数 感谢您的帮助 谢谢。您可以将查询更改为: strQuery = "SELECT count(*) as RowCount, * FROM " + Table_Name; 这将允许您检索行数,如下所示: dbReader.Read(); var rowCount = (int)dbRead["RowCount"]; 这可以做到,但可能有更好的方法: int i = 0; While (dbReader.Read()){ i++
OleDbDataReader
获取检索记录计数
感谢您的帮助
谢谢。您可以将查询更改为:
strQuery = "SELECT count(*) as RowCount, * FROM " + Table_Name;
这将允许您检索行数,如下所示:
dbReader.Read();
var rowCount = (int)dbRead["RowCount"];
这可以做到,但可能有更好的方法:
int i = 0;
While (dbReader.Read()){
i++;
}
有关更多详细信息:
使用executeslar()
而不是使用read
函数
SqlCommand cmd = new SqlCommand("SELECT count(*) FROM " + Table_Name, conn);
try
{
conn.Open();
int total = (Int32)cmd.ExecuteScalar();
}
这是一种有效的方法,不会修改OP的查询。如果OP实际上需要记录中的数据,那么就更好了,因为处理可以在
While
循环中完成,但是我承认,仅仅为了获得countThank而循环行不是最有效的。现在我使用sqlBulkCopy从MS Access复制到SQL DB。现在我想知道有多少行被复制了,我怎样才能做到?
SqlCommand cmd = new SqlCommand("SELECT count(*) FROM " + Table_Name, conn);
try
{
conn.Open();
int total = (Int32)cmd.ExecuteScalar();
}