[.NET][ADOX] 利用ADOX創建ACCESS資料庫及資料表

  • 4743
  • 0
  • 2011-03-08

摘要:[.NET][ADOX] 利用ADOX創建ACCESS資料庫及資料表

現在在找如何能夠從無到有,自行從程式中創建出一個ACCESS的資料庫?尋找過程中發現,可使用ADOX也就是ADO技術功能之外的延展來實作。

 

要使用ADOX的功能有以下步驟:

1. 加入參考[Microsoft  ADO Ext. 2.8 for DDL and Security]。(或者2.7) 之後可在Reference那邊看到[Interop.ADOX.2.8]的參考。

2. 加入名稱空間[ADOX]。

3. 若要使用ADO的方式去存取資料庫,則需要另外再參考[Microsoft ActiveX Data Objects 2.X Library]且加入名稱空間[ADODB]即可使用。

 

工具準備好後,主要步驟如下:

1. 創建空的資料庫。

2. 創建空的資料表。

3. 創建資料表中的欄位。(可省)

4. 將欄位(Column)資訊Append到指定資料表中。

5. 從已加入的Column中選出一欄位為PrimaryKey。(可省)

6. 將資料表Append到剛創建好的資料庫中。(若創建第二次會產生Exception)

 

首要目的是先建立一空的ACCESS資料庫:

using namespace ADOX;

String^ sDbName=”C:\\Test.mdb”;

if(System::IO::File::Exists(sDbName))
    Windows::Form::MessageBox::Show(“Is Exist!”)';
else
{
    ADOX::CatalogClass^ cat=gcnew ADOX::CatalogClass();
    //Create the database
    cat->Create(“Provider=Microsoft.Jet.OLEDB.2.0; Data Source=”+sDbName);
}

利用Create方法創建出名稱為sDbName的(.mdb)ACCESS資料庫。

 

再來就創建一空的資料表:

ADOX::TableClass^ tb1=gcnew ADOX::TableClass();
tb1->ParentCatalog=cat;
tb1->Name=”Table1”;

利用TableClass創建出一資料表模型,並設定資料表名稱以及歸屬於cat資料庫所有。

 

最後也最重要的是利用下列程式碼將資料表確實的附著到指定資料庫底下:

 

//.NET VC
cat->default->Append(tb1);

//.NET C#
cat->Tables->Append(tb1);


如上。會發現利用.NET VC & .NET C#語法所撰寫出來的有些不同。

為什麼不同...就需要再去看一下MSDN囉!


撰寫工具:VS2008 VC.NET


 

沒試過,別說你不行!該努力就去努力,別過了再說後悔。

〈請多指教,新手上路〉