C#中ADO.NET数据库连接方式详解

需积分: 10 2 下载量 186 浏览量 更新于2024-09-20 收藏 2KB TXT 举报
本文将详细介绍在C#中使用ADO.NET进行SQL数据库连接的几种常见方式,主要关注`SqlConnection`类的创建和配置。首先,我们将探讨硬编码连接字符串与配置管理器(`ConfigurationManager`)的使用。 1. 硬编码连接字符串 在代码中直接定义连接字符串是常用的方法。例如: ```csharp string str = @"database=pubs;server=localhost\SQLEXPRESS;uid=sa;pwd=123456;"; con.ConnectionString = str; ``` 这里使用了`SqlConnection`构造函数,并设置`ConnectionString`属性为硬编码的连接字符串,用于指定数据库服务器、数据库名称、用户名和密码等信息。 2. 利用`SqlConnectionStringBuilder`类 `SqlConnectionStringBuilder`提供了一种更为灵活的方式来构建连接字符串。例如: ```csharp SqlConnectionStringBuilder conStr2 = new SqlConnectionStringBuilder(); conStr2.DataSource = "TARENA-54\\SQLEXPRESS"; conStr2.InitialCatalog = "others"; conStr2.IntegratedSecurity = true; con.ConnectionString = conStr2.ToString(); ``` 这个方法允许通过设置单独的属性来构造连接字符串,之后再将其组合。 3. 使用`ConfigurationManager` 避免硬编码敏感信息是最佳实践。`ConfigurationManager`可以从应用程序配置文件中获取连接字符串。在`web.config`或`app.config`中,可以这样定义: ```xml <connectionStrings> <add name="mySql" connectionString="DataSource=TARENA-54\SQLEXPRESS;InitialCatalog=others;IntegratedSecurity=True"/> </connectionStrings> ``` 在代码中通过`ConfigurationManager.ConnectionStrings["mySql"]`获取并使用连接字符串: ```csharp con.ConnectionString = ConfigurationManager.ConnectionStrings["mySql"].ToString(); ``` 这样,如果需要更改连接字符串,只需修改配置文件即可,无需修改代码。 4. 动态连接字符串获取 除了预先定义好的连接字符串,还可以动态获取,例如根据环境变量或用户输入。这里展示的是直接使用字符串变量的方式,但实际应用中可能需要更安全的方法: ```csharp string dynamicConnectionString = "DataSource=TARENA-54\\SQLEXPRESS;InitialCatalog=others;IntegratedSecurity=True"; con.ConnectionString = dynamicConnectionString; ``` 最后,通过创建`SqlCommand`对象执行SQL查询,并使用`SqlDataReader`遍历结果集: ```csharp cmd = new SqlCommand("select * from obi", con); reader = cmd.ExecuteReader(); while (reader.Read()) { // 处理每一行数据 } reader.Close(); con.Close(); ``` 总结来说,本文介绍了在C#中使用ADO.NET连接SQL数据库的几种方式,包括硬编码连接字符串、`SqlConnectionStringBuilder`类、以及通过`ConfigurationManager`获取配置文件中的连接字符串。同时,展示了如何执行SQL查询并处理查询结果。这些方法的选择取决于具体项目的需求,如对安全性、可维护性和灵活性的要求。