数据库应用程序的开发流程一般主要分为以下几个步骤:

  1. 创建数据库
  2. 使用Connection对象连接数据库
  3. 使用Command对象对数据源执行SQL命令并返回数据
  4. 使用DataReader和DataSet对象读取和处理数据源的数据


    前面已经学习了如何创建数据库,现在了解一下关于Connection对象的一些内容。
    Connection对象是连接程序和数据库的“桥梁”,要存取数据源中的数据,首先要建立程序和数据源之间的连接。
    而SqlConnection对象是连接SQL Server类型数据源的主要方式,通过相关属性和方法,实现对连接参数的设置、读取以及相关连接操作。

    创建SqlConnection对象
    SqlConnection是对象,就像C#中其它的对象一样。很多时候,你只需要声明并实例化SqlConnection,如下所示:

    方式一:参数化字符串
    SqlConnection con = new SqlConnection( “Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI”);

    方式二:设置连接字符串属性
    SqlConnection con = new SqlConnection();
    con.ConnectionString= @“Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI”;

    上面第一个实例化SqlConnection对象使用了带一个string类型参数的构造函数。这个参数叫做连接字符串(connection string)。表1描述了连接字符串的通常部分。

    表1.ADO.NET连接字符串包括某些键/值对来指示如何连接数据库。它们包括位置、数据库的名字、和安全认证。
    数据库学习任务二:数据库连接对象SqlConnection - 图1


    当你在一个独立的机器上面做开发的时候,集成安全是安全的。然而,你通常希望指明所使用的应用程序的基于SQL Server用户ID的安全许可。下面显示的连接字符串使用了User ID和Password参数:

    1. SqlConnection con = new SqlConnection();
    2. con.ConnectionString= @“Data Source=DatabaseServer;
    3. Initial Catalog=Northwind;User ID=YourUserID;Password=YourPassword"”;

注:Data Source被设置为DatabaseServer来指示你能够指明位于不同机器――跨局域网或者Internet――的数据库。另外,User ID和Password替换调了集成安全参数。


【例】:使用SqlConnection对象连接SQL Server数据库

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data;
  8. using System.Data.SqlClient;
  9. public partial class Register : System.Web.UI.Page
  10. {
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. }
  14. protected void btnCon_Click(object sender, EventArgs e)
  15. {
  16. SqlConnection con = new SqlConnection();
  17. con.ConnectionString = @"Data Source=.\SQLEXPRESS;database=ShopBookDB;Integrated Security=SSPI;User Instance=True";
  18. con.Open();
  19. try
  20. {
  21. Response.Write("<script>alert('连接数据库成功!')</script>");
  22. con.Close();
  23. }
  24. catch (Exception)
  25. {
  26. Response.Write("<script>alert('连接数据库失败!')</script>");
  27. con.Close();
  28. }
  29. }
  30. }


运行结果如下:
数据库学习任务二:数据库连接对象SqlConnection - 图2