Files
MsAddIns/ExportExcelTest/MdbHelper.cs

88 lines
2.7 KiB
C#
Raw Normal View History

2026-02-28 21:01:57 +08:00
using System;
using System.Data;
using System.Data.OleDb;
using Bentley.Internal.MstnPlatformNET;
namespace GeologyToolkit
{
internal class MdbHelper
{
/// <summary>
/// 构建函数
/// </summary>
/// <param name="fileName">MDB文件含完整路徑</param>
public MdbHelper(string fileName)
{
this.fileName = fileName;
connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName;
}
private readonly string connectionString;
private readonly string fileName;
private OleDbConnection odcConnection;
/// <summary>
/// 断开连接(关闭据库文件)
/// </summary>
public void Close()
{
odcConnection.Close();
}
/// <summary>
/// 根据sql命令返回一个DataSet
/// </summary>
/// <param name="sql">sql命令</param>
/// <returns>以DataTable形式返回数据</returns>
public DataSet GetDataSet(string sql)
{
DataSet ds = new DataSet();
try
{
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, odcConnection);
adapter.Fill(ds);
}
catch (Exception)
{
throw new Exception("sql语句 " + sql + " 执行失败!");
}
return ds;
}
//根据表名返回一个DataSet
public DataSet GetDataSetByTableName(string tableName)
{
string sql = "select * from " + tableName;
return GetDataSet(sql);
}
//查询所有的表名
public DataTable GetTables()
{
DataTable dt = odcConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
return dt;
}
public void Open12()
{
//string connStr = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=" + fileName;
string connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={fileName};Persist Security Info=False;";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
connection.Open();
// Your code to interact with the database
}
}
/// <summary>
/// 建立连接(打开数据库文件)
/// </summary>
public void Open()
{
// 建立连接
odcConnection = new OleDbConnection(connectionString);
// 打开连接
odcConnection.Open();
}
}
}