让我们假设我的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查询.So,有没有办法用列名检索数据?
发布于 2010-08-12 19:26:43
你有没有试过使用just
while (dataReader.Read()) {
string str= dataReader["custid"].ToString();
}发布于 2010-08-12 19:31:08
我想你想要的是。
string str = dataReader.GetInt32(0).ToString();其中,(0)表示查询中列的从零开始的序号位置
发布于 2013-05-28 17:38:34
如果您不知道查询将返回什么,您将不得不:
获取FieldCount (结果集中的列数),然后遍历检索数据的DataReader的每一行中的字段(列)。
您将需要以下一种或多种方法:
https://stackoverflow.com/questions/3467093
复制相似问题