在不使用ACE.OLEDB的情况下执行查询并从Access数据库(accdb)获取数据的C#,可以使用System.Data.OleDb命名空间下的OleDbConnection和OleDbCommand类来实现。
以下是一个示例代码,展示了如何从Access数据库中查询数据:
using System;
using System.Data.OleDb;
class Program
{
static void Main()
{
// 连接字符串,指定Access数据库文件路径和版本
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\path\\to\\database.accdb;";
// 创建OleDbConnection对象
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
try
{
// 打开数据库连接
connection.Open();
// 创建查询语句
string query = "SELECT * FROM TableName";
// 创建OleDbCommand对象,指定查询语句和连接对象
using (OleDbCommand command = new OleDbCommand(query, connection))
{
// 执行查询,返回一个OleDbDataReader对象
using (OleDbDataReader reader = command.ExecuteReader())
{
// 循环读取查询结果
while (reader.Read())
{
// 可以根据字段名或索引读取数据
int id = reader.GetInt32(0);
string name = reader.GetString(1);
// 处理读取到的数据
Console.WriteLine("ID: {0}, Name: {1}", id, name);
}
}
}
}
catch (Exception ex)
{
// 处理异常
Console.WriteLine("Error: " + ex.Message);
}
}
Console.ReadLine();
}
}
在上述代码中,我们首先创建了一个OleDbConnection对象,指定了Access数据库文件的路径和版本。然后通过Open方法打开数据库连接。接着创建了一个查询语句,可以根据具体需求自行编写。之后创建了一个OleDbCommand对象,指定查询语句和连接对象。使用ExecuteReader方法执行查询,并返回一个OleDbDataReader对象。通过循环读取OleDbDataReader对象的结果,可以获取到查询到的数据。
需要注意的是,在使用此方法之前,需要确保机器上已经安装了适当的Access数据库驱动程序(如Microsoft Access Database Engine)。
推荐的腾讯云相关产品和产品介绍链接地址:
以上是如何在C#中从Access数据库中执行查询并获取数据的方法和相关腾讯云产品介绍。希望能对您有帮助!
领取专属 10元无门槛券
手把手带您无忧上云