麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Access > 正文

用C#動態創建Access數據庫

2024-09-07 19:04:59
字體:
來源:轉載
供稿:網友

記得以前要動態的創建access數據庫的mdb文件都是采用dao,用vc開發,一大堆的api,很是麻煩。現在好像也鮮有人提起dao。其實動態的創建mdb數據的最簡單的方法還是adox。
      用adox創建access數據庫方法很簡單,只需要new一個catalog對象,然后調用它的create方法就可以了,如下:

 

adox.catalog catalog = new catalog();
catalog.create("provider=microsoft.jet.oledb.4.0;data source=d:/test.mdb;jet oledb:engine type=5");
  僅僅兩行代碼就搞定了。下來我主要介紹一下在c#中的實現細節。首先你要添加引用,在“add reference”對話框里切換到com頁面,選擇“microsoft ado ext. 2.8 for ddl and security”,然后點擊ok。在文件的開頭using adox名字空間。然后添加如上面所示的代碼就可以成功的創建access 數據庫了,代碼如下:

using system;
using system.collections.generic;
using system.text;
using adox;

namespace testadox
...{
    class program
    ...{
        static void main(string[] args)
        ...{
            adox.catalog catalog = new catalog();
            catalog.create("provider=microsoft.jet.oledb.4.0;data source=d:/test.mdb;jet oledb:engine type=5");
        }
    }
}
創建了數據庫文件是沒有實際用處的,我們還要創建表。在創建表之前,我們必須連接目標數據庫,用來連接數據的橋梁居然是ado的connection對象,所以我們不得不再次添加對ado的應用,在添加引用對話框中切換到com頁面,選擇“microsoft activex data objects 2.8 library”,然后點擊ok。下邊是創建表的完整代碼:using system;
using system.collections.generic;
using system.text;
using adox;

namespace testadox
...{
    class program
    ...{
        static void main(string[] args)
        ...{
            adox.catalog catalog = new catalog();
            catalog.create("provider=microsoft.jet.oledb.4.0;data source=d:/test.mdb;jet oledb:engine type=5");

            adodb.connection cn = new adodb.connection();
           
            cn.open("provider=microsoft.jet.oledb.4.0;data source=d:/test.mdb", null, null, -1);
            catalog.activeconnection = cn;

            adox.table table = new adox.table();
            table.name = "firsttable";

            adox.column column = new adox.column();
            column.parentcatalog = catalog;
            column.name = "recordid";
            column.type = datatypeenum.adinteger;
            column.definedsize = 9;
            column.properties["autoincrement"].value = true;
            table.columns.append(column, datatypeenum.adinteger, 9);
            table.keys.append("firsttableprimarykey", keytypeenum.adkeyprimary, column, null, null);
            table.columns.append("customername", datatypeenum.advarwchar, 50);
            table.columns.append("age", datatypeenum.adinteger, 9);
            table.columns.append("birthday", datatypeenum.addate, 0);
            catalog.tables.append(table);
        
            cn.close();
        }
    }
}
上面的代碼中,創建了一個名為firsttable的表,在表里加入了4個字段,并設置了一個主鍵。表里的字段分別輸入4中不同的常用類型,第一個字段是一個自動增長的整數類型,這個類型比較特殊,你必須為這個字段設置parentcatalog屬性,并將“autoincrement”的屬性值設為true.。access里的text類型對應的就是advarwchar,而日期類型對應的是addate。
鍵的設置如table.keys.append("firsttableprimarykey", keytypeenum.adkeyprimary, column, null, null)所示,如果是外鍵的話,你還必須要設置關聯的表和關聯的字段,也就是append方法的后兩個字段。
你也可以參照上邊的代碼創建索引和視圖。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品国产中文字幕 | 国产超碰人人爽人人做人人爱 | 欧美日韩亚州综合 | 久久精品网站视频 | 自拍偷拍亚洲图片 | 国产亚洲精品久久777777 | 国产精品视频二区不卡 | 国产精品久久久久久久久久久久久久久 | 一级毛片在线视频 | 国产午夜精品久久久 | 黄色毛片一级 | 视频h在线 | 精品人成 | 国产手机国产手机在线 | 午夜精品在线视频 | 毛片在线免费观看网址 | 国产成年人视频 | 一级片免费在线 | 午夜激情视频网站 | 日韩av有码在线 | 狠狠干五月天 | 99精彩视频在线观看 | av手机在线免费播放 | 中文字幕精品在线播放 | 久久777国产线看观看精品 | 欧美一级网 | www成人在线观看 | 中文字幕在线亚洲 | 成人免费观看49www在线观看 | 4480午夜| sesee99| 久久精品亚洲精品国产欧美kt∨ | 黄色片网站在线播放 | 一本在线高清码电影 | 国产羞羞视频在线观看 | 依人在线视频 | 国产一区二区三区四区波多野结衣 | 免费久久精品 | 久久久av亚洲男天堂 | 黄色网址免费入口 | 美女扒开腿让男生桶爽网站 |