频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

ASP.NET2.0连接SQL Server数据库详解

来源:天极开发 作者: 出处:巧巧读书 2007-09-28 进入讨论组
上一页 1 2 3 4 5 下一页 
打开和关闭数据库连接

  生成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区块关闭数据库的连接,从而节省计算机资源,提高了程序的效率和可扩展性。

  执行结果:

ASP.NET2.0连接SQL Server数据库详解(图三)

  当然,我们还可以采用一种更加简便的方法来实现上述程序的功能。这就是将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 数据处理专题SQL Server 索引和查询专题SQL Server专题,或进入讨论组讨论。
上一页 1 2 3 4 5 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章