怎么用OracleDataReader获得数据库表中某一列的所有值

asdjkjk123456 2009-11-12 05:23:24
用OracleDataReader.GetString(i)好像只能获得第一行的值,也就是说所有列的第一个值
...全文
958 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
李慕禅 2012-04-19
  • 打赏
  • 举报
回复
// 创建一个 Command.
OracleCommand sqlCommand = conn.CreateCommand();

//// 获取数据库全部表名
//string SQL = @"select table_name from user_tables";

// 定义需要执行的SQL语句.
sqlCommand.CommandText = SQL;

ErrorCode = 2;
// 执行SQL命令,结果存储到Reader中.
OracleDataReader dataReader = sqlCommand.ExecuteReader();

// 处理检索出来的每一条数据.
while ( dataReader.Read() )
{
ErrorCode = 3;
tablenamelst.Add( dataReader[ Field ].ToString() );
}
wuyq11 2009-11-12
  • 打赏
  • 举报
回复
提供从数据源读取数据行的只进流的方法。
通过data reader对象,可以获得从command对象的SELECT语句得到的结果。data reader返回的数据流被设计为只读的、单向的,只能按照一定的顺序从数据流中取出数据。
Tod707070 2009-11-12
  • 打赏
  • 举报
回复
就是快呗。
假设有一个表,有8个字段,1万条记录,你只想获取其中第7个字段的值。那么使用reader.GetString(7)就可以了。
要是你只使用dataset,那你就不得不把全部8个字段全部下载完,多占内存呀,而且速度肯定没有reader快。
当然,如果你要对全部字段操作,肯定逃不开用dataset或者datatable
Tod707070 2009-11-12
  • 打赏
  • 举报
回复
就是快呗。
假设有一个表,有8个字段,1万条记录,你只想获取其中第7个字段的值。那么使用reader.GetString(7)就可以了。
要是你只使用dataset,那你就不得不把全部8个字段全部下载完,多占内存呀,而且速度肯定没有reader快。
当然,如果你要对全部字段操作,肯定逃不开用dataset或者datatable
asdjkjk123456 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xifenfei 的回复:]
不行的,datareader是游标一样的东西,依次往下读的,用dataset可以实现
[/Quote]不好意思,我对datareader不是很熟悉,它是不是只能获得第一行的值?既然dataset能获得表的行和列的值,那用datareader的好处是什么呢?
cc_net 2009-11-12
  • 打赏
  • 举报
回复
你只read一次不就是第一行的值了
用if(datadread.read())
在一列一列的get 啊
  • 打赏
  • 举报
回复
不行的,datareader是游标一样的东西,依次往下读的,用dataset可以实现

111,104

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧