C# Access数据库增删查改的简单方法


在C#中,访问Access数据库(通常是Microsoft Access数据库,扩展名为.mdb或.accdb)进行增删查改操作,通常需要使用ADO.NET框架中的`OleDb`命名空间。下面是一个简单的示例,展示了如何使用`OleDb`进行数据库的增删查改操作。

首先,确保你的项目中已经添加了对`System.Data.OleDb`的引用。

### 1. 数据库连接字符串


string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\你的数据库路径\Database.mdb"; // 对于Access 2003及之前版本
// 或者对于Access 2007及更高版本
// string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\你的数据库路径\Database.accdb";

### 2. 插入(增)


string insertQuery = "INSERT INTO 表名 (列1, 列2) VALUES (@value1, @value2)";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
    using (OleDbCommand command = new OleDbCommand(insertQuery, connection))
    {
        command.Parameters.AddWithValue("@value1", "值1");
        command.Parameters.AddWithValue("@value2", "值2");
        connection.Open();
        int result = command.ExecuteNonQuery();
        // result 会返回影响的行数
    }
}

### 3. 删除


string deleteQuery = "DELETE FROM 表名 WHERE 条件列 = @conditionValue";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
    using (OleDbCommand command = new OleDbCommand(deleteQuery, connection))
    {
        command.Parameters.AddWithValue("@conditionValue", "条件值");
        connection.Open();
        int result = command.ExecuteNonQuery();
        // result 会返回影响的行数
    }
}

### 4. 更新(改)


string updateQuery = "UPDATE 表名 SET 列1 = @newValue1 WHERE 条件列 = @conditionValue";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
    using (OleDbCommand command = new OleDbCommand(updateQuery, connection))
    {
        command.Parameters.AddWithValue("@newValue1", "新值1");
        command.Parameters.AddWithValue("@conditionValue", "条件值");
        connection.Open();
        int result = command.ExecuteNonQuery();
        // result 会返回影响的行数
    }
}

### 5. 查询(查)


string selectQuery = "SELECT 列1, 列2 FROM 表名 WHERE 条件列 = @conditionValue";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
    using (OleDbCommand command = new OleDbCommand(selectQuery, connection))
    {
        command.Parameters.AddWithValue("@conditionValue", "条件值");
        connection.Open();
        using (OleDbDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                // 读取数据
                Console.WriteLine(reader["列1"].ToString());
                Console.WriteLine(reader["列2"].ToString());
            }
        }
    }
}

注意:

- 替换示例中的`表名`、`列1`、`列2`、`值1`、`值2`、`条件列`和`条件值`等占位符为你数据库中的实际表名、列名和值。

- 访问数据库时,请确保数据库文件路径正确,并且你的应用程序有权限访问该数据库文件。

- 对于Access 2007及以上版本,数据库引擎的Provider是`Microsoft.ACE.OLEDB.12.0`,而不是`Microsoft.Jet.OLEDB.4.0`。