Ado.net 介绍:DataReader对象
DataReader对象只能对查询获得的数据集进行自上而下的访问,但效率很高。如果仅仅是访问数据的话,可以使用DataReader。但DataReader要求一直连接,所以将结果的一小部分先放在内存中,读完后再从数据库中读取一部分,相当于一个缓存机制。这对于查询结果百万级的情况来说,带来的好处是显而易见的。
DataReader对象 其特点:访问数据速度快.占用资源少.只能显示数据一条一条的向前读取.必须显式地打开和关闭连接.
属于:
1:FileCount      取得字段的个数
2:HasRows      判断SqlDataReader 是否包含一行或多行记录
3:IsClosed       判断DataReader对象是否关闭状态
方法:
1:Read()       返回SqlDataReader的第一条.并一条一条的向下读取
2:GetName()       取得字段的名称
3:GetDataTypeName()       取得字段的数据类型
4:GetValue()       取得字段的值
5:Close ()       关闭DataReader对象
6:GetOrdinal()      查询字段所在位置
7:GetValues ()       把所有查询记录数据赋于数组
8:IsNull()      判断字段是否为null值

  1. SqlConnection conn = new SqlConnection();
  2. conn.ConnectionString = "Data Source=CNGOTHIC;Initial Catalog=pubs;User ID=sa;Password=cngothic";
  3. conn.Open();
  4.  string sqlcmd5 = "select * from jobs";
  5. //连接数据库
  6. SqlCommand selcmd5 = new SqlCommand(sqlcmd5, conn);
  7. //创建 Command 对象
  8. SqlDataReader reader5 = selcmd.ExecuteReader();
  9. //创建 DataReader 对象
  10. Response.Write(reader5.FieldCount);
  11. //输出表中字段的个数
  12. Response.Write(reader5.HasRows);
  13. //判断 SqlDataReader 是否包今一行或多行记录.返回True或Flase.并输出
  14. Response.Write("<br>" + reader5.IsClosed);
  15. //判断  SqlDataReader 是否处于关闭状态
  16. Response.Write("<br>");
  17. while (reader5.Read())
  18. {
  19. for (int i = 0; i < reader5.FieldCount; i++)
  20. {
  21. Response.Write("索引值为:" + Convert.ToString(i) + "&nbsp;&nbsp;字段名:" + reader5.GetName(i) + "&nbsp;&nbsp;字段值:" + reader5.GetValue(i) + "&nbsp;&nbsp;字段类型:" + reader5.GetDataTypeName(i) + "字段位置:" + reader5.GetOrdinal(reader5.GetName(i)) + "-----");
  22. }
  23. Response.Write("<hr>");
  24. }
  25. //这段嵌套循环输出表内的所有记录.
  26. reader5.close();
  27. selcmd.Clone();
  28. conn.Close();

, , , , ,

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

Leave a reply?