C# 从WebAPI中的Oracle查询返回多行

C# 从WebAPI中的Oracle查询返回多行,c#,.net,oracle,asp.net-web-api,C#,.net,Oracle,Asp.net Web Api,我试图返回数据库中的所有行或一组行,但下面的查询只返回第一行的第一列,根据调试,它得到了数据,但似乎没有正确存储数据。dr.Read似乎没有问题,因为在调试停止点,它显示了在该点返回的数据。我是否使用MessageBox.Show错误地显示了数据 OracleCommand cmd = new OracleCommand(); cmd.Connection = conn; cmd.CommandText = "select t2.meternumb

我试图返回数据库中的所有行或一组行,但下面的查询只返回第一行的第一列,根据调试,它得到了数据,但似乎没有正确存储数据。dr.Read似乎没有问题,因为在调试停止点,它显示了在该点返回的数据。我是否使用MessageBox.Show错误地显示了数据

OracleCommand cmd = new OracleCommand();
            cmd.Connection = conn;
            cmd.CommandText = "select t2.meternumber, t1.blinkdate, t1.blinkcount from (select * from cecc_processed_blinks where trunc(blinkdate) between to_date('01-may-15', 'dd-mon-yy') and to_date('08-may-15', 'dd-mon-yy')) t1 left join meteraccts t2 on t1.serialnumber = t2.serialnumber order by t1.blinkdate desc";
            cmd.CommandType = CommandType.Text;
            OracleDataReader dr = cmd.ExecuteReader();
            dr.Read();
            //Put it in a message box...
            MessageBox.Show(dr.GetString(0), "Returned Results");
            conn.Dispose();

请参阅
OracleDataReader
上的文档,网址为:

请注意,
dr.Read()

while (dr.Read())
{
    // per row logic
}
此外,在您的声明中:

MessageBox.Show(dr.GetString(0), "Returned Results");
这将仅显示从读卡器返回的行的第一列的
MessageBox
。“0”是您的列索引