While we can use OLE DB if we’re using the .NET Framework, Microsoft has stated that OLE DB won’t be supported for .NET Core.
.net core
使用 ODBC 来实现。
.net framework
using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace SPCAssist { /* * Oledb.4.0在64位系统上不支持,需要使用 x86 目标平台 */ public class AccessHelper { OleDbConnection conn; DataTable dt;
/* * dbPath 完整路径 d:/ddd/dd.mdb */ public int Open(string dbPath) { if (conn==null) { conn = new OleDbConnection(); } conn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + dbPath;
return 0; }
public void Close() { conn.Close(); }
public DataTable Query(string sql) { OleDbCommand cmd = new OleDbCommand(); if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = sql; OleDbDataAdapter da = new OleDbDataAdapter(cmd); dt = new DataTable(); da.Fill(dt); return dt; } public int Exec(string sql) { OleDbCommand cmd = new OleDbCommand(); if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = sql; int iRet = cmd.ExecuteNonQuery();
return iRet; }
} }
query
sql= "select * from tblCharacteristic"; var dt = access.Query(sql); foreach (DataRow rowin dt.Rows) { var ss =row["CharacteristicID"]; }