如果上面的查询只返回一条记录,那么它不会通过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;
}
答案 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
}