C# 编写数据库SQL参数封装类示例

1 下载量 153 浏览量 更新于2024-08-29 收藏 44KB PDF 举报
"这篇文档介绍了如何在C#中编写一个用于数据库操作的SQL参数封装类。这个类主要用于执行SQL查询并处理数据返回。" 在C#编程中,封装数据库操作可以提高代码的可读性、可维护性和安全性。这里提供了一个名为`DbAccess`的类,它使用了.NET Framework中的`System.Data.SqlClient`命名空间,这使得能够与SQL Server数据库进行交互。类的构造函数初始化了`SqlConnection`和`SqlCommand`对象,这两个是执行SQL命令的关键组件。 `DbAccess`类的主要功能是执行SQL查询并返回结果。通过`GetTable`方法,我们可以传递一个SQL查询字符串作为参数,该方法会创建一个新的`DataSet`对象来存储查询结果。在尝试执行命令时,它首先设置`SqlCommand`对象的`CommandText`属性为传入的SQL语句,然后打开数据库连接,执行命令,并将结果填充到`DataSet`的`DataTable`中。最后,它关闭数据库连接以释放资源。 以下是对代码的详细解释: 1. `using`指令:引入必要的命名空间,如`System.Data.SqlClient`,以便使用`SqlConnection`和`SqlCommand`等类。 2. `DbAccess`类:包含了对数据库进行操作的方法和成员变量。 - `SqlConnection conn`:用来保存数据库连接。 - `SqlCommand cmd`:用来保存SQL命令。 - 构造函数:创建一个`SqlConnection`对象,并设置其连接字符串。连接字符串通常是从应用程序配置文件中获取的,这样可以方便地更改数据库连接信息而无需修改代码。 3. `GetTable`方法:接收一个SQL查询字符串,执行查询并返回结果。 - 创建`DataSet`对象`ds`:用于存储查询结果。 - 在`try-catch`块中执行SQL命令,以捕获可能出现的异常。 - 设置`SqlCommand`的`CommandText`属性:将SQL查询字符串赋值给`cmd`的`CommandText`,准备执行查询。 - 打开数据库连接:`conn.Open()`。 - 创建`SqlDataAdapter`并填充`DataTable`:`new SqlDataAdapter(cmd).Fill(ds)`将数据从数据库加载到`DataSet`的`DataTable`中。 - 关闭数据库连接:`conn.Close()`,释放资源。 - 返回`DataTable`:`return ds.Tables[0];`。 这种封装方式使得在应用中执行SQL查询变得更加简单,只需实例化`DbAccess`类并调用`GetTable`方法即可。同时,由于使用了参数化查询,可以有效防止SQL注入攻击,提高了代码的安全性。不过,实际项目中可能会使用更高级的ORM框架(如Entity Framework)来进一步简化数据库操作。