转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
ado.net详细研究(二) —— DataReader(一)         ★★★★

ado.net详细研究(二) —— DataReader(一)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1614 更新时间:2009/4/23 10:46:16

这次我们详细研究DataReader。我个人最喜欢的就是DataReader,虽然它不如DataSet强大,但是在很多情况下我们须要的是灵活的读取数据而不是大量的在内存里面缓存数据。比如在网络上每个用户都缓存大量的dataset,这很可能导致服务器内存不足。另外dataReader尤其适合读取大量的数据,因为它不在内存中缓存数据。

由于下面的讨论都设计到数据库操作,我们虚拟一个小项目:个人通讯录(单用户),这意味着我们须要一个contract的数据库,包含adminfridend

admin AnameApassword

friend FnameFphoneFaddressFid(主键)

当然,你可以根据自己的须要设计friend表,比如添加Fsex等字段,这里不详细列举。对应数据库建立文件:

if exists (select * from dbo.sysobjects where id = object_id(N''''[dbo].[admin]'''') and OBJECTPROPERTY(id, N''''IsUserTable'''') = 1)

drop table [dbo].[admin]

GO

 

if exists (select * from dbo.sysobjects where id = object_id(N''''[dbo].[friend]'''') and OBJECTPROPERTY(id, N''''IsUserTable'''') = 1)

drop table [dbo].[friend]

GO

 

CREATE TABLE [dbo].[admin] (

         [Aname] [varchar] (8) COLLATE Chinese_PRC_CI_AS NOT NULL ,

         [Apassword] [varchar] (16) COLLATE Chinese_PRC_CI_AS NOT NULL

) ON [PRIMARY]

GO

 

CREATE TABLE [dbo].[friend] (

         [Fid] [int] IDENTITY (1, 1) NOT NULL ,

         [Fname] [varchar] (8) COLLATE Chinese_PRC_CI_AS NOT NULL ,

         [Fphone] [varchar] (12) COLLATE Chinese_PRC_CI_AS NULL ,

         [Faddress] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

GO

在讨论DataReader之前我们必须了解ConnectionCommand,虽然前面我们已经简短的介绍过了。

以下的所有讨论都针对Sql Server2000,使用的命名空间为System.Data.SqlClient。当然如果你须要使用OleDb,那是很方便的(基本上是把Sql替换成为OleDb就可以了)。

1, SqlConnection

连接Sql server首先必须实例化一个SqlConnection对象:

SqlConnection Conn = new SqlConnection(ConnectionString);

Conn.Open();

或者

SqlConnection Conn = new SqlConnection()

Conn.ConnectionString = ConnectionString;

Conn.Open();

我比较喜欢前者,但是当你须要重新使用Connection对象去连接另外的数据库的时候,第二种方法非常有效(不过这种机会很少,一般来说一个小型系统只对应一个数据库——个人认为^_^)。

SqlConnection Conn = new SqlConnection()

Conn.ConnectionString = ConnectionString1;

Conn.Open();

//do something

Conn,Close();

Conn.ConnectionString = ConnectionString2;

Conn.Open();

//do something else

Conn,Close();

注意只有关闭一个连接以后才能使用另外的连接。

如果你不清楚Connection对象的状态,可以使用State属性,它的值为Open或者Closed,当然也还有其他值如Executing或者Broken,但是Sql server等当前版本都不支持。

If(Conn.State == ConnectionState.Open)

       Conn.Colse();

上面一直提到ConnectionString,一般连接sql server的字符串为:

Data source = serverName;Initial catalog =contract;user id =sa;password= yourpassword;

如果你的sql server使用的是windows集成密码,则是:

Data source = serverName;Initial catalog = contract;Integrated Security=SSPI;

至于其他的oledb或者odbc连接串可以到http://www.connectionstrings.com

    连接上数据库以后一定记得关闭连接,在ado.net中当Connection对象超出范围时连接不会自动关闭。

    打开数据库连接以后我们要执行命令,所以我们讨论一下Command类

2 SqlCommand

[1] [2]  下一页


[C语言系列]NET 中C#的switch语句的语法  [办公软件]快速定位——书签
[办公软件]如何在Word中插入条形码——这招俺也刚学会  [办公软件]道高一尺,魔高一丈——轻松去掉(清除、添加)Word…
[电脑技术]互联网交流之趣味对话——“论坛专用术语、称呼”  [电脑技术]家贼易防,病毒难防——计算机中病毒之解决方案(与…
[聊天工具]办公室情景剧 —— Miss.HR与Outlook_联络工具_Ou…  [系统软件]托拽Explore中的文件到VB.net的窗口
[系统软件]Boost库在XP+Visual C++.net中的安装  [常用软件]新配色面板:Paint.Net3.0RC1官方下载
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台