C#创建Access
C#創(chuàng)建Access
創(chuàng)建Access
通過Acccess軟件創(chuàng)建Acccess表
1:新建一個空白數(shù)據(jù)庫文件,并命名為"Database"。
2:右擊"表一"的"設(shè)計試圖",并命名表名為"Administrator",點擊"確認(rèn)"后,從創(chuàng)建"ID"、"用戶名稱"、"用戶密碼",并分別設(shè)置器數(shù)據(jù)類型。
3:點擊"保存"后,就可添加數(shù)據(jù)。
4:如需創(chuàng)建密碼,則可點擊"工具\安全性",即可添加密碼。
二、動態(tài)創(chuàng)建數(shù)據(jù)庫及表名。
1:先添加兩個COM組件引用,右擊方案選擇"引入?yún)⒖?#34;,加入Microsoft?ActiveX?Data?Objects?2.8?Library和Microsoft?ADO?Ext.?2.8?for DDL and?Security。
2:聲明"using ADOX;"和"using System.IO;"
3:創(chuàng)建Access文件,代碼如下:
///?<summary>
///創(chuàng)建Access數(shù)據(jù)庫
///?</summary>
///?<param name="strFilePath">數(shù)據(jù)庫文件的路徑</param>
public?static?bool?CreateAccess(string?strFilePath)
{
ADOX.Catalog?clg =?new?Catalog();
if?(!File.Exists(strFilePath))
{
try
{
//創(chuàng)建clg后,其數(shù)據(jù)庫的鎖定文件laccdb就一直存在(用以鎖定此數(shù)據(jù)庫文件)
clg.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="?+ strFilePath +?";Jet OLEDB:Engine Type=5");
}
catch?(System.Exception?ex)
{
MessageBox.Show("數(shù)據(jù)庫創(chuàng)建失敗",?"提示");
return?false;
}
}
return?true;
}
4:創(chuàng)建數(shù)據(jù)表。只創(chuàng)建一個數(shù)據(jù)庫文件是沒有意義的,創(chuàng)建表的本質(zhì)是把創(chuàng)建的字段添加到數(shù)據(jù)表中。其具體代碼如下:
///?<summary>
///在Access數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫表文件
///?</summary>
///?<param name="FilePath">數(shù)據(jù)庫表文件全路徑?</param>
///?<param name="tableName">表名</param>
///?<param name="colums">ADOX.Column對象數(shù)組</param>
public?bool?CreateAccessTable(string?FilePath,?string?tableName,?params?ADOX.Column[] colums)
{
bool?bolReturn =?false;
ADOX.Catalog?clg =?new?Catalog();
//數(shù)據(jù)庫文件存在
try
{
if?(CreateAccess(FilePath) ==?true)
{
ADODB.Connection?cn =?new?ADODB.Connection();//連接已創(chuàng)建的數(shù)據(jù)庫文件
cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="?+ FilePath,?null,?null, -1);
clg.ActiveConnection = cn;//打開已創(chuàng)建的數(shù)據(jù)庫文件
ADOX.Table?table1 =?new?ADOX.Table();
table1.Name = tableName;//命名一張表Administrator
/*設(shè)置類型
//table1.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null);//定義主鍵
*/
foreach?(var?column?in?colums)
{
if?(column.Name !=?null)
{
table1.Columns.Append(column);//添加字段到表
}
}
clg.Tables.Append(table1);//添加表到數(shù)據(jù)庫文件
cn.Close();
bolReturn =?true;
}
}
catch?(Exception?ex)
{
MessageBox?.Show ("創(chuàng)建失敗\r\n "?+ ex .ToString (),"提示");
}
return?bolReturn;
}
5:創(chuàng)建按鈕的代碼如下:
//創(chuàng)建按鈕
private?void?btnCreat_Click(object?sender,?EventArgs?e)
{
Access?ac =?new?Access();
string?FilePath =?@"C:\Users\dwa1124\Desktop\自動創(chuàng)建的Access數(shù)據(jù)表.mdb";?
ADOX.Column?column1 =?new?Column();
ADOX.Column?column2 =?new?Column();
ADOX.Column?column3=?new?Column();
//設(shè)置字段名:名字
column1.Type = ADOX.DataTypeEnum.adVarWChar;//設(shè)置類型為
column1.DefinedSize = 255;//設(shè)置長度
column1.Name =?"名字";//設(shè)置字段名
//設(shè)置字段名:性別
column2.Type = ADOX.DataTypeEnum.adVarWChar;//設(shè)置類型為
column2.DefinedSize = 255;//設(shè)置長度
column2.Name =?"性別";//設(shè)置字段名
//設(shè)置字段名:年齡
column3.Type = ADOX.DataTypeEnum.adInteger;//設(shè)置類型為
column3.DefinedSize = 9;//設(shè)置長度
column3.Name =?"年齡";//設(shè)置字段名
//column.Properties["AutoIncrement"].Value = true;//設(shè)置自動增長
if?(ac.CreateAccessTable(FilePath,?"Administrator",?column1,column2,column3))
{
MessageBox.Show("創(chuàng)建成功",?"提示");
}
6:效果如圖所示:
?
總結(jié)
以上是生活随笔為你收集整理的C#创建Access的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vuejs:组件 slot 内容分发
- 下一篇: c# char unsigned_dll