使用 OleDbDataReader 检索值
让我们认为我的 sql 查询是
select customerDetials.custid,TestTable.col1 from CustomerDetails INNER JOIN TestTable on CustomerDetails.custid=TestTables.custid where CustomerDetails.custid>0
我想使用 OleDbDataReader 来检索 this 的行。
我使用这种方式
while (dataReader.Read())
{
string str= dataReader["customerDetials.custid"].ToString();
}
,但问题是这里连接在那里,所以如果我给出像上面这样的列名,它会抛出异常,并且我不能使用索引或者我不能更改sql查询。那么有什么方法可以使用检索数据列名?
Let us think my sql query is
select customerDetials.custid,TestTable.col1 from CustomerDetails INNER JOIN TestTable on CustomerDetails.custid=TestTables.custid where CustomerDetails.custid>0
I wanna use OleDbDataReader to retrieve rows of this .
I used this way
while (dataReader.Read())
{
string str= dataReader["customerDetials.custid"].ToString();
}
but the prob is here join is there so if I give column name like above its throwing me an exception and I can't use index or I cant change the sql query .So is there any way to retrieve the data using the column name?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你有没有尝试过只使用
Have you tried using just
我认为你想要的是...
其中 (0) 指的是查询中的列的从零开始的序数位置
I THINK what you want is...
where the (0) refers to the zero-based ordinal position of the columns as in the query
如果您不知道查询将返回什么,则必须:
获取 FieldCount(结果集中的列数),然后循环访问 DataReader 的每行中的字段(列)以检索数据。
您将需要以下一种或多种方法:
列类型。
If you don't know what the query will return, you will have to:
Get the FieldCount (number of columns in the result set) and then loop through the fields (columns) in each row of the DataReader retrieving the data.
You will need one or more of the following medthods:
column type.