信息产业培训网

C#高级编程:数据库连接[1]

http://www.miiceic.org.cn   2007-12-12 10:43:38   中程在线   浏览数:
关键字:.net
  使用数据库连接

    为了访问数据库,需要提供某种类型的连接参数,例如运行数据库的机器,和登录凭证。使用ADO的用户会很快熟悉.NET连接OleDbConnection和SqlConnection,图21-1显示了连接类及它们支持的接口。

    在本章的示例中,使用Northwind数据库,它是和.NET Framework SDK示例一起安装的。下面的代码段说明了如何创建、打开和关闭Northwind数据库的连接。
    using System.Data.SqlClient;
    string source = "server=(local)\\NetSDK;" +"integrated security=SSPI;" +"database=Northwind";
    SqlConnection conn = new SqlConnection(source);
    conn.Open();
    // Do something useful
    conn.Close();


图  21-1

    如果以前使用过ADO或OLE DB,就会很熟悉连接字符串。如果使用的是OleDb提供程序,就应能剪切和粘贴旧代码。在该示例的连接字符串中,使用的参数如下所示。连接字符串中的参数用分号分隔开。
    ●  server=(local)\\NetSDK:表示要连接的数据库服务器。SQL Server允许在同一台机器上运行多个不同的数据库服务器进程,所以这里在本地机器上连接NetSDK进程。
    ●  integrated security=SSPI:这个参数使用Windows Authentication连接数据库,最好在源代码中使用这个参数,而不是用户名和密码。
    ●  database=Northwind:这描述了要连接的数据库实例。每个SQL Server进程都可以有几个数据库实例。

    这个示例使用定义的连接字符串打开数据库连接,再关闭该连接。连接打开后,就可以对数据源执行命令,完成后,就可以关闭连接。

    SQL Server有另一个模式的身份验证。它可以使用Windows集成的安全性,这样在登录时提供的证书就会传送给SQL Server。这适合于删除连接字符串的uid 和 pwd部分,并添加Integrated Security=SSPI。

    在本章的下载代码中,有一个文件Login.cs简化了本章的示例。它链接了所有的示例代码,包括用于这些示例的数据库连接信息;可以修改该文件,使用自己的服务器名称、用户和密码。在默认情况下,该文件使用Windows集成的安全性,但是可以根据需要修改用户名和密码。

    高效地使用连接

    一般情况下,当在.NET中使用“稀缺”的资源时,例如数据库连接、窗口或图形对象,最好确保每个资源在使用后立即关闭。尽管.NET的设计人员实现了自动的垃圾收集,垃圾最终都会被回收,但仍需要尽可能早地释放资源,以避免出现资源匮乏的情况。

    当编写访问数据库的代码时,这是非常明显的,因为使连接打开的时间略长于需要的时间,就可能影响其他会话。在极端的情况下,不关闭连接会使其他用户无法进入一整组数据表,极大地降低了应用程序的性能。关闭数据库连接应是强制的,所以本节讨论如何构建代码,把一直打开资源的风险降到最低。

    主要有两种方式可以确保数据库连接等类似的“稀缺”资源在使用后立即释放。
    1. 第一种方式—— 利用try…catch…finally语句块
    确保释放资源的第一种方式是利用try…catch…finally块,确保在finally块中关闭任何已打开的连接。下面是一个小示例:
    try
    {
       // Open the connection
       conn.Open();
       // Do something useful
    }

来源:csai
相关连接
最新评论
*以下网友发言不代表中程在线网站的观点和看法
    我要评论

    请您注意
    1、遵守中华人民共和国的各项有关法律规定
    2、承担一切因您的行为而导致的法律责任
    3、本网留言管理人员有权删除其管辖留言内容
    4、您在本网的留言本网有权在网站内转载和引用
    5、参与本留言即表明您已经阅读并接受上述条款
    我爱研发网希赛网软件测试网中电华信太平洋电脑网天空网
    电脑爱好者泡泡网华军软件霏凡软件站软件开发网腾讯网
    eNet下载汉化新世纪小熊在线BIOS之家数动连线....[更多]
    关于我们 | 网站地图 | 周边住宿 | 行车路线 | 联系我们 | 网站律师 | 意见反馈 | 虚位以待 | 友情链接
    中程在线(北京)科技有限公司 版权所有
    总 部:北京市海淀区青东商务楼A座西四层
    企业培训部:010-52636110 52636106 就业培训部:010-68716925 68716926
    邮 件:training@miiceic.org.cn
    京ICP备06053134号
    Copyright © 2005-2008 Miiceic.org.cn All Rights Reserved