ADO.NET是.NET Framework中的一系列类库,它能够让开发人员更加方便的在应用程序中使用和操作数据。在ADO.NET中,大量的复杂的数据操作的代码被封装起来,所以当开发人员在ASP.NET应用程序开发中,只需要编写少量的代码即可处理大量的操作。ADO.NET和C#.NET、VB.NET不同的是,ADO.NET并不是一种语言,而是对象的集合。

ADO.NET是由微软编写代码,提供了在.NET开发中数据库所需要的操作的类。在.NET应用程序开发中,C#和VB.NET都可以使用ADO.NET。

ADO.NET可以被看作是一个介于数据源和数据使用者之间的转换器。ADO.NET接受使用者语言中的命令,如连接数据库、返回数据集之类,然后将这些命令转换成在数据源中可以正确执行的语句。在传统的应用程序开发中,应用程序可以连接ODBC来访问数据库,虽然微软提供的类库非常的丰富,但是开发过程却并不简单。ADO.NET在另一方面,可以说简化了这个过程。用户无需了解数据库产品的API或接口,也可以使用ADO.NET对数据进行了操作。ADO.NET中常用的对象有:

SqlConnection:该对象表示与数据库服务器进行连接。

SqlCommand:该对象表示要执行的SQL命令。

SqlParameter;该对象代表了一个将被命令中标记代替的值。

SqlDataAdapter:该对象表示填充命令中的DataSet对象的能力。

DataSet:表示命令的结果,可以是数据集,并且可以同BulletedList进行绑定。

通过使用上述的对象,可以轻松的连接数据库并对数据库中的数据进行操作。对开发人员而言,可以使用ADO.NET对数据库进行操作,在ASP.NET中,还提供了高效的控件,这些控件同样使用了ADO.NET让开发人员能够连接、绑定数据集并进行相应的数据操作。

ADO.NET通过ADOConnection连接到数据库。和ADO的Connection对象相似的是,ADOConnection同样包括Open和Close方法。Open表示打开数据库连接,Close表示关闭数据库连接。在每次打开数据库连接后,都需要关闭数据库连接。

建立连接

在SQL数据库的连接中,需要使用.NET提供的SqlConnection对象来对数据库进行连接。在连接数据库前,需要为连接设置连接串,连接串就相当于告诉应用程序怎样找到数据库去进行连接,然后程序才能正确的与SQL建立连接,使用Connection对象连接数据库有两种方式:

方法一:封闭式

server='服务器地址';database='数据库名称';UID='数据库用户名';pwd='数据库密码';

示例;string sqla = @"server=.;database=yezi;UID=sa;pwd=123.com";//连接数据库的字串

方法二:开放式

Data Source=服务器名;Initial Catalog=数据库名;User ID=用户名;pwd=密码

示例;string sqla = "Data soerce=.;Initial Catalog=yezi;User ID=sa;pwd=123.com";

注:目前公司大多数使用开放式

上述代码说明了数据库连接字串的基本格式,如果需要连接到本地的mytable数据库,则编写相应的SQL连接字串进行数据库的连接,示例代码如下所示。

string strcon; //声明连接字串

strcon = "server='(local)';database='mytable';uid='sa';pwd='sa';"; //设置连接字串

上述代码声明了一个数据库连接字串,SqlConnection类将会通过此字串来进行数据库的连接。其中,server是SQL服务器的地址,如果相对于应用程序而言数据库服务器是本地服务器,则只需要配置为(loacal)即可,而如果是远程服务器,则需要填写具体的ip。另外,uid是数据库登录时的用户名,pwd是数据库登录时使用的密码。在声明了数据库连接字串后,可以使用SqlConnection类进行连接,示例代码如下所示。

string strcon; //声明连接字串

strcon = "server='(local)';database='mytable';uid='sa';pwd='sa';"; //编写连接字串

SqlConnection con = new SqlConnection(strcon); //新建SQL连接

try

{

con.Open(); //打开SQL连接

Label1.Text = "连接数据库成功"; //提示成功信息

}

catch

{

Label1.Text = "无法连接数据库"; //提示失败信息

}

上述代码连接了本地数据库服务器中的mytable数据库,如果连接成功,则提示“连接数据库成功”,出现异常时,则提示“无法连接数据库”。

下面再使用开放式与数据库yezi连接,代码如下;

//连接数据库的字串

string sqla = "Data soerce=.;Initial Catalog=yezi;User ID=sa;pwd=123.com";

//创建SqlConnection对象。设置SqlConnection对象连接数据库的字符串

SqlConnection conn = new SqlConnection(sqla);

//打开数据库

conn.Open();

//关闭数据库

注意:在使用SqlConnection类时,需要使用命名空间using System.Data.SqlClient;而连接Access数据库时,需要使用命名空间using System.Data.OleDb。

案例:连接yezi数据库

步骤:

1. 创建一个文件夹company,并在company下创建一个网站。

2. 打开自动生成的文件web.config文件,找到配置节<configuration>下的子配置节</connectionStrings>,使用name属性和connectionStrings属性配置数据库连接信息,将</connectionStrings>用下面的代码代替;

<connectionStrings>

<add name ="siteConn" connectionString="Data Source=.;Initial Catalog=yezi;

User ID=sa;pwd=123.com"/>

</connectionStrings>

3. 打开Default.aspx.cs文件,在文件中使用命名空间using System.Configuration和using System.Data.SqlClient,代码如下;

using System.Configuration;

using System.Data.SqlClient;

4.在页面的Page_load()方法中用ConfigurationManager类获取数据库连接字符串,使用SqlConnection创建一个数据库连接对象,并打开数据库连接,然后再页面中输出一句话验证数据库是否连接成功,最后关闭数据库连接,代码如下;

protected void Page_Load(object sender, EventArgs e)

{

//使用ConfigurationManager类获取连接数据库的字串

string sqla = ConfigurationManager.ConnectionStrings["siteConn"].ConnectionString;

SqlConnection conn = new SqlConnection(sqla);

//打开数据库

conn.Open();

//用Response对象在页面输出一句话

Response.Write("数据库连接成功");

conn.Close();

//关闭数据库

}

}

clip_image001

运行网站,成功如下;

clip_image002