当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 总结了一下ADO.NET数据库连接的相关知识

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

ASP.NET 中的 总结了一下ADO.NET数据库连接的相关知识


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 74 ::
收藏到网摘: n/a

ADO.NET提供了多种对象模型,比较典型的以下有五种,它们全部归类在System.Data.SqlClient名称空间下。

一、SqlConnection对象

ADO.NET使用SqlConnection对象与SQL Server进行连接。连接字符串的常用形式有两种:

1.使用Windows集成安全身份认证,例如:string connectionString ="IntegratedSecurity=SSPI;Database=MyDatabase.mdf;Server=localhost;";

或:string connectionString = "Initial Catalog= MyDataBase; Data Source=localhost;Integrated Security=SSPI;"

2.在连接字符串中指定服务器名、用户id、用户口令、数据库名等信息。例如:string connectionString = "server=localhost; uid=sa; pwd=123; database=MyDatabase.mdf";

然后通过连接字符串直接创建SqlConnection对象,如SqlConnection conn = new SqlConnection(connectionString);

二、SqlCommand对象

在ADO.NET中,有两种操作数据库的方式:

1.无连接的方式;

2.保持连接的方式。

不论采用哪种方式,都可以通过SqlCommand对象提供的方法传递对数据库操作的命令,并返回命令执行的结果。

在保持连接的方式下操作数据库的一般步骤为:

1.创建SqlConnection的实例;

2.创建SqlCommand的实例;

3.打开连接;

4.执行命令;

5.关闭连接。

SqlCommand对象提供了多种完成对数据库操作的方法。常用有:

1.ExecuteNonQuery

该方法执行SQL语句的结果,但不返回命令执行的表数据,仅返回操作所影响的行数。

2.ExecuteReader

ExecuteReader方法提供了只向前的、顺序的快速读取数据库中数据的方法。该方法根据提供的SELECT语句,返回一个可以顺序读取的SqlDataReader对象,编程者可以使用Read方法循环依次读取每个记录中各字段(列)的内容。

3.ExecuteScaler()

该方法用于执行SELECT查询,得到的返回结果为一个值的情况,比如使用count函数求表中记录个数或者使用sum函数求和等。

三、SqlDataAdapter对象

SqlDataAdapter对象通过无连接的方式完成数据库和本地DataSet之间的交互。使用这种方式操作数据库的一般步骤为:

1.创建SqlConnection的实例;

2.创建SqlDataAdapter的实例,需要的话,根据select语句生成其他SQL语句;

3.创建DataSet的实例;

4.使用Fill方法将数据库中的表填充到DataSet的表中;

5.利用DataGridView或者其他控件对象编辑或显示数据;

6.需要的话,使用Update方法更新数据库。

SqlDataAdapter对象通过SelectCommand、InsertCommand、UpdateCommand和DeleteCommand属性为后台数据库提供对应的操作命令,并传递需要的参数。一般情况下,只需要提供SELECT语句和连接字符串创建SqlDataAdapter对象,然后利用SqlCommandBuilder对象生成InsertCommand、UpdateCommand和DeleteCommand属性。

四、DataTable对象

ADO.NET可以在与数据库断开连接的方式下通过DataSet或DataTable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更新数据源。DataTable对象表示保存在本机内存中的表,它提供了对表中行列数据对象的各种操作。可以直接将数据从数据库填充到DataTable对象中,也可以将DataTable对象添加到现有的DataSet对象中。在断开连接的方式下,DataSet对象提供了和关系数据库一样的关系数据模型,代码中可以直接访问DataSet对象中的DataTable对象,也可以添加、删除DataTable对象。

1. 创建DataTable对象

可以通过以下两种方式创建DataTable对象:

1) 通过DataTable类的构造函数创建DataTable对象,例如:

DataTable table = new DataTable();

2) 通过DataSet的Tables对象的Add方法创建DataTable对象,例如:

DataSet dataset = new DataSet();

DataTable table = dataset.Tables.Add("MyTableName");

2. 在DataTable对象中添加列

在DataTable对象中添加列的最常用的方法是通过DataTable对象的Column属性中的Add方法。添加后的每一列都是一个DataColumn对象。

3. 设置DataTable对象的主键

关系数据库中的表一般都有一个主键,用来惟一标识表中的每一行记录。通过DataTable对象的PrimaryKey属性可以设置Datatable的主键。主键可以是一个或者多个DataColumn对象组成的数组。例如:

DataColumn[] key = new DataColumn[1];//dt是一个DataTable对象

key[0] = dt.Columns[0];

dt.PrimaryKey = key;

4. 在DataTable对象中创建行

DataTable对象的每一行都是一个DataRow对象,所以创建行时可以先利用DataTable对象的NewRow方法创建一个DataRow对象,并设置新行中各列的数据,然后利用Add方法将DataRow对象添加到表中

5. 将SQL Server数据库中的表填充到DataTable中

除了可以直接创建DataTable对象的行列信息外,也可以通过DateAdapter对象的Fill方法将SQL Server数据库中的表填充到DataTable对象中。

五、DataSet对象

1. 创建DataSet对象

使用创建的DataSet对象可以完成各种数据操作,利用向导生成的数据库数据源是一个强类型的DataSet以及一对或多对强类型的DataTable和TableAdapter的组合。类型化的DataSet是一个生成的类,是从.NET Framework的一般DataSet类衍生来的,但提供了已定义的架构以及特定于该架构的属性和方法。同时,对于DataSet中的每个表,还生成了特定于该DataSet的附加衍生类,而且每个类都为相关的表提供了特定的架构、属性和方法。

当然,也可以直接创建一般的DataSet对象,例如:

DataSet myDataset = new DataSet();

2. 填充DataSet对象

创建DataSet后,就可以使用SqlDataAdapter对象把数据导入到DataSet对象中,比如通过Fill方法将数据填充到DataSet中的某个表中。