打开和关闭数据库连接
生成Connection对象并将其设置ConnectionString属性设置为数据库连接的相应细节之后,就可以打开数据库连接。为此可以调用Connection对象的Open()方法。其方法如下:
| mySqlConnection.Open(); |
完成数据库的连接之后,我们可以调用Connection对象的Close()方法关闭数据库连接。例如:
| mySqlConnection.Close(); |
下面是一个显示如何用SqlConnection对象连接Sql Server Northwind数据库的实例程序,并且显示该SqlConnection对象的一些属性。
范例程序代码如下:
| 01 public partial class _Default : System.Web.UI.Page 02 { 03 protected void Page_Load(object sender, EventArgs e) 04 { 05 //建立数据库连接字符串 06 string connectionString = "server=localhost;database=Northwind; 07 integrated security=SSPI"; 08 //将连接字符串传入SqlConnection对象的构造函数中 09 SqlConnection mySqlConnection = new SqlConnection(connectionString); 10 try 11 { 12 //打开连接 13 mySqlConnection.Open(); 14 //利用label控件显示mySqlConnection对象的ConnectionString属性 15 lblInfo.Text = "<b>mySqlConnection对象的ConnectionString属性为:<b>" + 16 mySqlConnection.ConnectionString + " "; 17 lblInfo.Text += "<b>mySqlConnection对象的ConnectionTimeout属性为<b>" + 18 mySqlConnection.ConnectionTimeout + " "; 19 lblInfo.Text += "<b>mySqlConnection对象的Database属性为<b>" + 20 mySqlConnection.Database + " "; 21 lblInfo.Text += "<b>mySqlConnection对象的DataSource属性为<b>" + 22 mySqlConnection.DataSource + " "; 23 lblInfo.Text += "<b>mySqlConnection对象的PacketSize属性为<b>" + 24 mySqlConnection.PacketSize + " "; 25 lblInfo.Text += "<b>mySqlConnection对象的ServerVersion属性为<b>" + 26 mySqlConnection.ServerVersion + " "; 27 lblInfo.Text += "<b>mySqlConnection对象的当前状态为<b>" + 28 mySqlConnection.State + " "; 29 } 30 catch (Exception err) 31 { 32 lblInfo.Text = "读取数据库出错"; 33 lblInfo.Text += err.Message; 34 } 35 finally 36 { 37 //关闭与数据库的连接 38 mySqlConnection.Close(); 39 lblInfo.Text += " <b>关闭连接后的mySqlConnection对象的状态为:</b>"; 40 lblInfo.Text += mySqlConnection.State.ToString(); 41 } 42 } 43 } |
程序代码说明:在上述范例的程序代码中,我们利用try catch finally对数据库连接进行异常处理。当无法连接数据库时将抛出异常,并显示出错信息,见catch代码块所示。在此程序中,无论是否发生异常,都可以通过finally区块关闭数据库的连接,从而节省计算机资源,提高了程序的效率和可扩展性。
执行结果:
当然,我们还可以采用一种更加简便的方法来实现上述程序的功能。这就是将SqlConnection对象包含到using区块中,这样程序会自动调用Dispose()方法释放SqlConnection对象所占用的系统资源,无需再使用SqlConnection对象的Close()方法。
范例程序代码如下:
| 01 public partial class _Default : System.Web.UI.Page 02 { 03 protected void Page_Load(object sender, EventArgs e) 04 { 05 string connectionString = "server=localhost;database=Northwind; 06 integrated security=SSPI"; 07 SqlConnection mySqlConnection = new SqlConnection(connectionString); 08 using (mySqlConnection) 09 { 10 mySqlConnection.Open(); 11 lblInfo.Text = "<b>mySqlConnection对象的ConnectionString属性为:<b>" + 12 mySqlConnection.ConnectionString + " "; 13 lblInfo.Text += "<b>mySqlConnection对象的ConnectionTimeout属性为<b>" + 14 mySqlConnection.ConnectionTimeout + " "; 15 lblInfo.Text += "<b>mySqlConnection对象的Database属性为<b>" + 16 mySqlConnection.Database + " "; 17 lblInfo.Text += "<b>mySqlConnection对象的DataSource属性为<b>" + 18 mySqlConnection.DataSource + " "; 19 lblInfo.Text += "<b>mySqlConnection对象的PacketSize属性为<b>" + 20 mySqlConnection.PacketSize + " "; 21 lblInfo.Text += "<b>mySqlConnection对象的ServerVersion属性为<b>" + 22 mySqlConnection.ServerVersion + " "; 23 lblInfo.Text += "<b>mySqlConnection对象的当前状态为<b>"+ 24 mySqlConnection.State + " "; 25 } 26 lblInfo.Text += " <b>关闭连接后的mySqlConnection对象的状态为:</b>"; 27 lblInfo.Text += mySqlConnection.State.ToString(); 28 } 29 } |
程序代码说明:在上述范例的程序代码中,采用using(mySqlConnection)的形式使得代码更加简洁,并且其最大的优点就是无需编写finally区块代码,可以自动关闭与数据库的连接。正文:http://www.qqread.com/aspdotnet/n202254.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- SQL Server 数据处理专题 (1859篇文章)
- SQL Server 索引和查询专题 (3328篇文章)
- SQL Server (1816篇文章)
- 数据库专栏 (5169篇文章)
- 数据库处理专题 (8708篇文章)
- 城域网专题 (7840篇文章)
- 数据库安全技术专题 (13188篇文章)
- 数据库安装与卸载 (10561篇文章)
- .NET移动与嵌入式技术 (5974篇文章)
- .NET开发手册 (5673篇文章)
- Out Of Memory的分析及诊断方法 (0次浏览)
- 未释放事件Handler可能导致内存泄漏 (0次浏览)
- 小心使用放在App_Code中类的静态成员 (0次浏览)
- ASP.net服务器控件的优化选择 (0次浏览)
- Asp.Net中动态页面转静态页面 (0次浏览)
- 正则表达式中的实用命名组替换 (0次浏览)
- Domain Model的三种类型及其级别 (0次浏览)
- 应用WEB标准会使ScrollTop属性失效! (0次浏览)
- Cache用法之缓存页面和缓存数据 (0次浏览)
- 支持正则表达式的UrlMapping (0次浏览)




