C#操作Access資料庫(建立&修改結構)

來源:互聯網
上載者:User

想要在程式中控制Access,不是資料,而是Access資料庫的表結構啊,欄位啊..就要用到ADOX

所以先要在解決方案中引用之,方法如下:
方案總管 --> 引用 --> (右鍵)添加引用 --> COM --> Microsoft ADO Ext. 2.8 for DDL and Security 

 

注意:

當建立ACCESS資料庫的時候,會自動建立一個串連,為了釋放.ldb檔案,必須關閉這一串連。而這個串連是ADODB類的,所以很多人一直都找不到釋放串連的方法。 

方法如下: 引用 --> (右鍵)添加引用 --> COM --> Microsoft ActiveX Data Objects 2.8 Library

 

有了這個兩個COM組件後,就可以開始一系列操作啦。。。

 

一.建立Access資料庫

string dbName = "E:\\Temp\\" + DateTime.Now.Millisecond.ToString() + ".mdb";//注意副檔名必須為mdb,否則不能插入表
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";");

二.建立一個表

ADOX.TableClass tbl = new ADOX.TableClass();
tbl.ParentCatalog = cat;
tbl.Name = "MyTable";

 

三.增加一個自動成長的欄位

ADOX.ColumnClass col = new ADOX.ColumnClass();
col.ParentCatalog = cat;
col.Type = ADOX.DataTypeEnum.adInteger; //必須先設定欄位類型
col.Name = "id";
col.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
col.Properties["AutoIncrement"].Value = true;
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0);

 

四.增加一個文字欄位

ADOX.ColumnClass col2 = new ADOX.ColumnClass();
col2.ParentCatalog = cat;
col2.Name = "Description";
col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25);


下面的這句很重要哦:

cat.Tables.Append(tbl); //把表加入資料庫(非常重要)

五.開啟修改Access資料庫

ADODB.Connection conn = new ADODB.Connection();//ADO連線物件
conn.Open("Provider=Microsoft.Jet.OleDb.4.0;Data Source=Interop.Portal.dll", "", "", 0);
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.ActiveConnection = conn;//設定活動的連線物件

下面的這句非常重要哦: (建立&修改都需要)

//轉換為ADO串連,並關閉
(cat.ActiveConnection as ADODB.Connection).Close();
cat.ActiveConnection = null;
cat = null;

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.