C# 使用ADO.NET操作Access数据库指南

需积分: 9 1 下载量 175 浏览量 更新于2024-09-15 收藏 30KB TXT 举报
"C#操作Access主要是指使用C#编程语言与Microsoft Access数据库进行交互,包括创建Access数据库(mdb文件)、创建表、读取表数据、查询表内容、更新表记录以及删除表等操作。通常,这涉及到ADO.NET框架中的OleDb连接和命令对象。在C#中,可以利用System.Data.OleDb命名空间下的类来实现对Access数据库的管理。本文将详细介绍如何使用C#通过ADO.NET进行Access数据库操作,并提供示例代码。 首先,为了连接到Access数据库,需要构建一个有效的连接字符串。例如: ```csharp string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=product.mdb"; ``` 其中,`Provider`指定数据提供者,`DataSource`是Access数据库文件的路径。 接下来,使用OleDbConnection类建立数据库连接: ```csharp OleDbConnection connection = new OleDbConnection(connectionString); ``` 然后,可以创建OleDbCommand对象来执行SQL语句,例如创建新表: ```csharp string sql = "CREATE TABLE Products (ID INT PRIMARY KEY, Name VARCHAR(50), Price DECIMAL)"; OleDbCommand cmd = new OleDbCommand(sql, connection); connection.Open(); cmd.ExecuteNonQuery(); ``` 关闭连接: ```csharp connection.Close(); ``` 对于读取数据,可以使用OleDbDataAdapter和DataSet: ```csharp OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM Products", connection); DataSet dataSet = new DataSet(); adapter.Fill(dataSet, "Products"); ``` 查询和更新操作类似,只需修改SQL语句。例如,查询ID为1的产品: ```csharp sql = "SELECT * FROM Products WHERE ID = 1"; cmd = new OleDbCommand(sql, connection); connection.Open(); OleDbDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine("Product ID: {0}, Name: {1}, Price: {2}", reader["ID"], reader["Name"], reader["Price"]); } reader.Close(); ``` 更新记录: ```csharp sql = "UPDATE Products SET Price = @NewPrice WHERE ID = @ID"; cmd = new OleDbCommand(sql, connection); cmd.Parameters.AddWithValue("@NewPrice", 99.99); cmd.Parameters.AddWithValue("@ID", 1); cmd.ExecuteNonQuery(); ``` 最后,删除表的代码可能如下: ```csharp sql = "DROP TABLE Products"; cmd = new OleDbCommand(sql, connection); connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); ``` 对于更复杂的需求,比如创建表结构或进行批量操作,可以使用ADOX库。以下代码演示了如何创建Access数据库: ```csharp using ADOX; public static bool CreateMDBDatabase(string mdbPath) { try { CatalogClass cat = new CatalogClass(); cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" + mdbPath + ";"); cat = null; return true; } catch { return false; } } ``` 总结来说,C#操作Access主要涉及ADO.NET框架的使用,通过OleDbConnection、OleDbCommand等类完成与Access数据库的交互,实现数据的增删查改操作。此外,还可以借助ADOX库进行数据库级别的管理。"