使用C#连接Access数据库示例

需积分: 9 3 下载量 38 浏览量 更新于2024-09-17 收藏 1KB TXT 举报
"本文将详细介绍如何在.NET环境中使用C#语言连接到Microsoft Access数据库,以及执行基本的查询操作。" 在.NET开发中,我们经常需要与各种数据库进行交互,包括Microsoft Access。Access数据库是一种轻量级的数据库管理系统,适合小型项目或个人使用。在C#中连接到Access数据库,我们可以使用ADO.NET(.NET数据提供程序)中的`OleDbConnection`类。下面的代码示例展示了如何实现这个过程: 首先,定义数据库连接字符串。在给定的代码中,我们看到以下行用于创建连接字符串: ```csharp string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;"; strConnection += "DataSource=boli.mdb"; ``` 这里,`Provider`指定数据提供程序,`Microsoft.Jet.OleDb.4.0`是用于连接Access 2000-2003 (.mdb)文件的Jet引擎。`DataSource`则指定了数据库文件的位置,这里是`boli.mdb`。 接下来,创建`OleDbConnection`对象并打开连接: ```csharp OleDbConnection objConnection = new OleDbConnection(strConnection); objConnection.Open(); ``` 一旦连接建立,我们就可以使用`OleDbCommand`类来执行SQL命令。在这个例子中,我们查询了名为`login`的表的所有记录: ```csharp OleDbCommand sqlCmd = new OleDbCommand("select * from login", objConnection); ``` 然后,通过`ExecuteReader`方法执行查询并获取一个`OleDbDataReader`对象,它允许我们逐行读取结果集: ```csharp OleDbDataReader reader = sqlCmd.ExecuteReader(); ``` 在循环中,我们遍历`reader`来检查结果。如果找到用户名为`admin`且密码为`123`的记录,我们将显示一个新的窗体`Form3`: ```csharp while (reader.Read()) { if (reader.GetString(0) == "admin" && reader.GetString(1) == "123") { Hide(); Form form3 = new Form3(); form3.ShowDialog(); objConnection.Close(); reader.Close(); break; } else { MessageBox.Show("û"); tname.Focus(); tname.Text = ""; } } ``` 如果未找到匹配的记录,会显示一个消息框,并清空输入字段`tname`。 在处理完数据库操作后,确保关闭连接和数据读取器,以释放系统资源: ```csharp reader.Close(); objConnection.Close(); ``` 总结来说,这个代码片段演示了如何在C#中使用`OleDb`组件连接到Access数据库,执行SQL查询,以及处理查询结果。注意,对于Access 2007及更高版本的.accdb文件,应使用`Microsoft.ACE.OLEDB.12.0`提供程序替换`Microsoft.Jet.OleDb.4.0`。此外,为了提高安全性,建议避免在代码中硬编码敏感信息如用户名和密码,而是采用配置文件或环境变量存储这些信息。