C# 操作 Access 数据库

2024年 4月 18日 38.7k 0

Access 数据库是 Microsoft Office 套件中的一部分,它为用户提供了一个简单的方式来存储、查询和管理数据。虽然在企业级应用中,SQL Server、Oracle 或 MySQL 等数据库可能更为常见,但在小型应用或原型开发中,Access 数据库因其易用性和低成本而仍然受到欢迎。

在 C# 中操作 Access 数据库,我们通常会使用 OLE DB 或 ODBC 连接。以下是一个使用 OLE DB 连接 Access 数据库的简单示例。

环境准备

首先,确保你的系统中已经安装了 Microsoft Access Database Engine,这是操作 Access 数据库所必需的。

建立连接

在 C# 中,我们可以使用 OleDbConnection 类来建立与 Access 数据库的连接。以下是一个连接字符串的示例:

string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:pathtoyourdatabase.accdb;";

在这里,Provider 指定了用于连接到数据库的 OLE DB 提供程序,而 Data Source 则指向 Access 数据库文件的路径。

查询数据

一旦建立了连接,我们就可以使用 OleDbCommand 类来执行 SQL 查询。以下是一个简单的示例,该示例从 Access 数据库中检索数据并在控制台上显示它们:

using System;
using System.Data;
using System.Data.OleDb;

class Program
{
    static void Main()
    {
        string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:pathtoyourdatabase.accdb;";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            connection.Open(); // 打开连接
            string query = "SELECT * FROM YourTableName"; // 替换 YourTableName 为你的表名
            OleDbCommand command = new OleDbCommand(query, connection);
            using (OleDbDataReader reader = command.ExecuteReader()) // 执行查询并读取数据
            {
                while (reader.Read()) // 遍历数据行
                {
                    for (int i = 0; i < reader.FieldCount; i++) // 遍历字段并打印值
                    {
                        Console.Write(reader[i] + "t"); // t 用于制表符分隔字段值
                    }
                    Console.WriteLine(); // 换行打印下一行数据
                }
            }
            connection.Close(); // 关闭连接
        }
    }
}

插入数据

向 Access 数据库中插入数据也非常简单。以下是一个示例,该示例向表中插入一行新数据:

using System;
using System.Data.OleDb;

class Program
{
    static void Main()
    {
        string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:pathtoyourdatabase.accdb;";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            connection.Open(); // 打开连接
            string insertQuery = "INSERT INTO YourTableName (Column1, Column2) VALUES (@Value1, @Value2)"; // 替换 YourTableName 和 ColumnX 为你的表名和列名,并添加需要的列和对应的参数占位符 @ValueX
            OleDbCommand command = new OleDbCommand(insertQuery, connection);
            command.Parameters.AddWithValue("@Value1", "SomeValue1"); // 替换 SomeValue1 为你要插入的实际值
            command.Parameters.AddWithValue("@Value2", "SomeValue2"); // 替换 SomeValue2 为你要插入的实际值
            command.ExecuteNonQuery(); // 执行插入操作,不返回结果集时(如 INSERT、UPDATE、DELETE),使用 ExecuteNonQuery 方法。
            connection.Close(); // 关闭连接
        }
        Console.WriteLine("Data inserted successfully!"); // 打印成功消息到控制台。
    }
}

注意事项:

  • 确保 Access 数据库的路径是正确的,并且数据库文件不是只读的或已被其他应用程序打开。
  • 在执行插入、更新或删除操作之前,最好先备份你的数据库,以防数据丢失。
  • 对于更复杂的查询和操作,你可能需要编写更复杂的 SQL 语句,并处理可能出现的异常。
  • 使用参数化查询(如上面的插入示例所示)可以防止 SQL 注入攻击,并提高查询的安全性。

通过上面的示例代码,你应该能够在 C# 中轻松地连接和操作 Access 数据库了。当然,对于更高级的功能和更复杂的查询,你可能需要进一步学习 SQL 语法和 OLE DB 的相关功能。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论