while循环使用C#中的一条记录

时间:2015-09-22 21:56:04

标签: c# c#-4.0

如果上面的查询只返回一条记录,那么它不会通过while循环。 while循环只有在我从select查询中有多行时才会执行。那么我怎么能改变这个循环来执行c#

中的两个场景(一个记录或多个记录)
OracleCommand command = connection.CreateCommand();                   
command.CommandText = "select * from test where id = 2";

int rowcount = 0;
while (reader.Read())
{
    rowcount++;
}
if (rowcount == 0)
{
     MessageBox.Show("No reords found");
       return;
}

2 个答案:

答案 0 :(得分:0)

我们无法看到所有的代码,所以我们无法看到它有什么问题,但通常有时候ppl忘记以这种方式实际调用读取器,while循环条件永远不会发生 将表格的名称放在[]

中也更安全

答案 1 :(得分:-1)

您可以使用以下内容:

if (reader.Read())
{
    // at least one record available
    do
    {
        // work with reader
    } while (reader.Read()); // true while another records available
}
else
{
    // no records found
}