ADO.NET与数据源连接的对象Connection
Connection对象
Connection对象也称为连接对象,在进行任何与数据库的操作之前,首先需要创建与目标数据库的连接,ADO.NET提供了与数据源连接的对象,主要包括OleDbConnection对象、SqlConnection对象和OdbcConnection对象,其命名空间如表1所示。

表1 连接对象的命名空间
微软公司开发的Access以及SQL Server,甲骨文公司开发的Oracle是目前使用最频繁的数据库。下面分别详细介绍。
1.Access
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dataPath;
例如,在ASP.NET中,连接一个无密码的Access数据库“AccessBase.mdb”的连接字符串如下:
string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath("AccessBase.mdb");
例如,在ASP.NET中,连接一个有密码的Access数据库“AccessBase.mdb”的连接字符串如下:
string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:DataBase Password="+TxtPwd.Text+";User Id=admin; Data source=" + Server.MapPath("AccessBase.mdb");
在以上连接字符串中,Provider属性指定使用的数据库引擎Microsoft.Jet.OLEDB.4.0。Data source属性指定数据库文件位于计算机中的物理位置,这里应用Server对象的MapPath方法将虚拟路径转换为物理路径。另外,使用C#开发Windows应用程序,也可以同样使用该方法连接Access数据。
注意:在应用OLEDB数据提供程序连接数据库时,需要引用using System.Data. OleDb命名空间。
2.SQL Server
Provider=SQLOLEDB;Data Source=mysqlServer;Integrated Security=SSPI;
例如,通过信任连接模式与本地SQL Server数据库连接,连接字符串如下:
Provider=SQLOLEDB;Data Source=mysqlServer;Integrated Security=SSPI;
例如,连接带密码的SQL Server数据库,连接字符串如下:
Server=(Local);pwd=password;uid=user id;database=mydatabase;
读者应该按照需要设置Server、Database、User id和Pwd数据连接属性。数据连接属性及说明如表2所示。

表2 连接属性说明
说明:local代表SQL Server在本地计算机上,如果要连接远程计算机将它换成远程计算机的IP地址或计算机名称即可,例如,Server=192.168.1.98。
3.Oracle
Provider=MSDAORA;Data Source=ORACLR8i;User ID=OLEDB;Password=OLEDB;
例如,连接Oracle 9i数据库,连接字符串如下:
string OrlCon = "Data Source=Oracle9i;Integrated Securite=yes";
示例
建立SQL Server数据库连接
下面举例说明如何连接SQL Server数据库,步骤如下。
(1)创建Connection对象。
(2)把连接字符串赋值给Connection对象的ConnectionString属性。
(3)调用Connection对象的Open方法打开连接。
(4)连接使用完毕后,应调用Connection对象的Close方法关闭连接。
(5)调用Connection对象的Dispose方法释放其所占用的资源。
使用ADO.NET的Connection对象连接SQL Server数据库,程序代码如下:
string strCon = " Server =(local);Database=Northwind;User id=sa;PWD=";
SqlConnection sqlconn = new SqlConnection(strCon);
sqlconn.Open();
sqlconn.Close();
sqlconn.Dispose();
完整程序代码如下:
★ ★★★★Program.cs主程序文件完整程序代码★★★★★
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace _1_01
{
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
★ ★★★★Form1.cs窗体代码文件完整程序代码★★★★★
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace _1_01
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)