首页 > 编程 > .NET > 正文

ado.net详细研究(一)

2024-07-10 13:07:30
字体:
来源:转载
供稿:网友
最近阅读了wrox的高效掌握 ado.net,有所感触,希望与大家分享。第一次写文章,不好请谅解。

第一篇:ado.net的概念

ado.net中间包含以下常见类:

· connection

· command

· dataadapter

· datareader

· dataset

1 connection类
数据库connection类提供与数据库的连接。.net里面有oledbconnection类和sqlconnection类,分别针对不同的数据库。sqlconnection针对sql server 7.0或者以上版本。

2 command类
数据库command类是数据库命令的封装。这个命令可以是sql语句或者存储过程。这个类也有一个与具体提供者相关的前缀,如oledb或者sql。所有command类必须实现一些属性,用来更改command的文本和类型,参数,超时以及事务等。另外comand必须实现一些方法,以便执行command和返回信息。

3 dataadapter类
dataadarpter一般是结合dataset使用,那dataset“连接”到数据源中。
本质上dataadapter是容器,含有4个预先配置好的command实例,即selectcommand,insertcommand,deletecommand,updatecommand。这4个command实例将提供dataset与数据库之间的操作。

4 datareader类
使用datareader可以实现对数据源中的数据高速、只向前的访问。同时datareader是一个依赖连接的对象,这意味着你使用它的时候必须保持数据库连接是打开的。

5 dataset类
相对复杂但是功能强大的类。后面具体介绍。

下面使用实例演示基本操作(我们使用sql server数据库)。

using system;

using system.data;

using system.data.sqlclient;



namespace test101

{

/// <summary>

/// class1 的摘要说明。

/// </summary>

class class1

{

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[stathread]

static void main(string[] args)

{

//

// todo: 在此处添加代码以启动应用程序

//



sqlconnection conn = new sqlconnection("server = joycode;initial catalog = northwind; user id = sa;password = 87345587;");
conn.open();
//上面两行代码新建一个sqlconnection对象conn,并把数据库连接字符串赋给其构造函数并通过open方法打开数据库连接。

sqlcommand cmd = conn.createcommand();//通过conn的createcommand方法建立一个sqlcommand
cmd.commandtext = "select top 5 * from customers";//设置cmd对象的命令是读取数据库汇总前5条信息
cmd.commandtype = commandtype.text;//设置cmd的类型是sql语句,也就是默认的类型
//当然我们可以使用cmd.commandtype = commandtype.storedprocedure指定命令类型为存储过程。
//下面的代码使用cmd的executereader方法新建一个sqldatareader对象。
//注意:datareader没有自己的构着函数,只能通过cmd的executereader新建。
sqldatareader reader = cmd.executereader(commandbehavior.closeconnection);
string output;
while(reader.read())
{
output = string.format("customer {0} : {1} works for {2}",
reader.getstring(0),reader.getstring(1),reader.getstring(2));//读取信息并显示。后面我们将专门介绍datareader类
console.writeline(output);
}
}
}
}


界面如下:



下一篇文章我们将详细研究datareader类

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表