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();
//关闭数据库
}
}
运行网站,成功如下;