让我们认为我的SQL查询是
select customerDetials.custid,TestTable.col1 from CustomerDetails INNER JOIN TestTable on CustomerDetails.custid=TestTables.custid where CustomerDetails.custid>0
我想使用OleDbDataReader来检索此行。
我用这种方式
while (dataReader.Read())
{
string str= dataReader["customerDetials.custid"].ToString();
}
但问题是这里连接是有的,所以如果我给上面的列名称它抛出一个异常,我不能使用索引或我不能更改SQL查询。所以有任何方法来检索数据使用列名?
答案 0 :(得分:1)
您是否尝试过使用
while (dataReader.Read()) {
string str= dataReader["custid"].ToString();
}
答案 1 :(得分:0)
我认为你想要的是......
string str = dataReader.GetInt32(0).ToString();
其中(0)引用列的基于零的序数位置,如查询
答案 2 :(得分:0)
如果您不知道查询将返回什么,则必须:
获取FieldCount(结果集中的列数),然后遍历DataReader检索数据的每一行中的字段(列)。
您将需要以下一种或多种方法: