本篇是 簡介 以 OleDb 來連線至 ASSCESS (mdb)檔案 ,並取得資料
範例檔案 按我 下載
//引用
using System.Data.OleDb;
//變數宣告
private static System.Data.OleDb.OleDbConnection oleConn = null;
//連線的方法
private static void ConnectAsscessDB()
{
oleConn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+AsscessDB_Full_path+ ";Jet OleDb:DataBase Password=green");
if (oleConn.State == ConnectionState.Closed)
{
oleConn.Open();
}
}
//釋放連線
private static void DisConnectAsscessDB()
{
if (oleConn.State == ConnectionState.Open)
{
oleConn.Close();
oleConn.Dispose();
}
}
//返回 Datatable 的方法
public static DataTable GetDateTable(string sqlstr)
{
DataTable dt = new DataTable("BOM");
OleDbDataAdapter da = new OleDbDataAdapter();
try
{
ConnectAsscessDB();
OleDbCommand comm = new OleDbCommand();
comm.Connection = oleConn;
comm.CommandType = CommandType.Text;
comm.CommandText = sqlstr;
da.SelectCommand = comm;
da.Fill(dt);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
DisConnectAsscessDB();
}
return dt;
}
//使用的方法
DataTable d = new DataTable();
d.Clear();
d = GetDateTable(sql命令);
//2011-11-23 追加 將取回 DataTable 綁定至 Data dataGridView1
dataGridView1.DataSource = dt;
dataGridView1.Update();
//2011-11-23 追加 若 dataGridView1 做 新增、修改、刪除 後要將資料回填 Asscess
//注意 新增不需要PK , 但是 修改、刪除 需要 PK (例如 Excel 當作資料來源時,要特別注意)
OleDbCommandBuilder builder = new OleDbCommandBuilder(odp);
if (dt.GetChanges() != null)
{
//MessageBox.Show(dt.GetChanges().Rows.Count.ToString());
odp.Update(dt);
dt.AcceptChanges();
}
沒有留言:
張貼留言