C#数据库连接教程:SQL与Access

需积分: 3 9 下载量 84 浏览量 更新于2024-10-01 收藏 44KB PDF 举报
本文档提供了一个C#编程中与数据库连接相关的基础知识介绍,特别是如何使用SqlConnection和OleDbConnection对象来连接SQL数据库和Access数据库。它包含一个名为DataBase的类,该类具有枚举类型dbType来区分不同类型的数据库,以及方法来打开连接、执行SQL查询并返回DataSet对象。 在C#中,与数据库交互是常见的任务,通常涉及使用ADO.NET(ActiveX Data Objects .NET)框架。这个框架提供了诸如SqlConnection和OleDbConnection等类,用于连接不同的数据库管理系统(如SQL Server或Microsoft Access)。在给定的代码中,`DataBase` 类被设计用来封装这些连接操作。 1. 数据库连接类型: 类中的`dbType` 枚举定义了两种数据库连接类型:`sql` 表示SQL数据库(如SQL Server),而`access` 表示Access数据库。这允许代码根据所选的数据库类型创建适当的连接对象。 2. SqlConnection和OleDbConnection: - `SqlConnection` 是用于连接SQL Server的ADO.NET对象。在构造函数中,如果`cType` 设置为`sql`,则创建一个新的`SqlConnection`实例,并使用提供的连接字符串初始化。 - `OleDbConnection` 用于连接多种数据源,包括Access数据库。当`cType` 设置为`access`时,会创建一个新的`OleDbConnection`实例,同样用连接字符串初始化。 3. DataBase类的方法: - `returnDS` 方法接收一个SQL查询字符串作为参数,根据数据库类型创建相应的`SqlCommand`或`OleDbCommand`对象。这个方法的目的是执行查询并填充一个DataSet。 - 对于SQL数据库,创建`SqlCommand`对象,设置命令超时为20秒,然后打开数据库连接。接着,使用`SqlDataAdapter`填充DataSet的一个表,表名为"tempTable"。 - 对于Access数据库,过程类似,只是使用`OleDbCommand`对象。 4. ADO.NET组件: - `SqlCommand` 用于执行SQL命令,可以是查询、存储过程或其他数据库操作。 - `SqlDataAdapter` 是一个桥梁,它将数据库查询的结果转换为DataSet,DataSet是.NET中一个内存中的数据集合,可以处理来自数据库的数据。 5. 数据访问流程: - 打开数据库连接(通过调用`Open()` 方法)。 - 创建并配置SQL命令(设置查询和超时)。 - 使用适配器填充DataSet。这一步执行SQL命令并将结果集加载到DataSet的表中。 - 关闭数据库连接(虽然在给定的代码片段中未显示,但通常应在操作完成后关闭连接以释放资源)。 6. 异常处理: 尽管示例代码中没有显示,但在实际应用中,执行数据库操作时应该包含适当的异常处理,以捕获并处理可能出现的错误,如连接失败、查询错误等。 这段代码提供了一个基本的模板,用于在C#中连接和查询两种类型的数据库。开发者可以根据需要扩展这个类,添加更多的功能,如事务处理、参数化查询、错误处理等。