您的位置:首页 > 数据库

ADO.NET——Connection(连接数据库)

2014-04-30 22:09 232 查看
在ADO.NET对象模型中,Connection对象代表了与数据源之间的连接。

.NET框架中有两个Connection对象:一个是OleDbConnection,用于大多数的数据库连接,一个是SqlConnection,是MS开发的专门用于针对SQLServer的连接。在创建Connection对象之前,你必须先引用System.Data.OleDb或者System.Data.SqlClient和System.Data三个名空间.

一,基本连接示例

对于连接对象的使用,可以类比VB中ADO的使用。现在来看一段连接的代码,来认识一下如何对数据库进行连接的。

如图,建个小界面:



然后在连接按钮的事件中加入如下代码:

string strConn = "database=Login;server=localhost;UID=sa;PWD=123456";  //连接字符串
SqlConnection conn = new SqlConnection(strConn); //建立连接
conn.Open();  //打开连接

//判断连接状态
if (conn.State == ConnectionState.Open)
{
lblState.Text = "连接已经打开啦~~~~";
}
else
{
lblState.Text = "抱歉,未能连接上数据库";
}

conn.Close();  //关闭连接
conn.Dispose();  //释放资源


by the way,别忘了,using ...



and then, Ctrl+F5:



二,使用高效的ADO连接

在程序运行的过程中,往往可能会出现各种错误,比如,当刚连上数据库,可能因为某种原因,系统崩溃,结果导致connection没有close,此后,如果再进行连接的话,此时就会提示连接没有关闭。为了防止这种问题,这里,我们有两种解决方法。

1,使用try...Catch...finally

将上面的程序进行改写:

string strConn = "database=Login;server=localhost;UID=sa;PWD=123456";  //链接字符串
SqlConnection conn = new SqlConnection(strConn); //建立连接

try
{
conn.Open();  //打开连接

}
catch (SqlException error)
{
//此时将错误写入日志文件
MessageBox.Show("抱歉,程序发生错误");
}
finally
{
//判断连接状态
if (conn.State == ConnectionState.Open)
{
lblState.Text = "连接已经打开啦~~~~";
}
else
{
lblState.Text = "抱歉,未能连接上数据库";
}
conn.Close();  //关闭连接
conn.Dispose();  //释放资源

}


2,使用using{............}

using (SqlConnection conn = new SqlConnection(strConn)) //建立连接
{
conn.Open();  //打开连接

//判断连接状态
if (conn.State == ConnectionState.Open)
{
lblState.Text = "连接已经打开啦~~~~";
}
else
{
lblState.Text = "抱歉,未能连接上数据库";
}
}


在此处,用using来确保资源的释放。

当然,也可以这两种方法结合起来使用,用try...catch..捕捉异常,让后写入日志,用using来确保资源的释放。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: