C#创建Access

时间:2024-03-19 08:36:51

C#创建Access

创建Access

  1. 通过Acccess软件创建Acccess表

    1:新建一个空白数据库文件,并命名为"Database"。

    C#创建Access

    2:右击"表一"的"设计试图",并命名表名为"Administrator",点击"确认"后,从创建"ID"、"用户名称"、"用户密码",并分别设置器数据类型。

    C#创建Access

    3:点击"保存"后,就可添加数据。

    C#创建Access

    4:如需创建密码,则可点击"工具\安全性",即可添加密码。

    C#创建Access

二、动态创建数据库及表名。

1:先添加两个COM组件引用,右击方案选择"引入参考",加入Microsoft ActiveX Data Objects 2.8 Library和Microsoft ADO Ext. 2.8 for DDL and Security。

C#创建Access

2:声明"using ADOX;"和"using System.IO;"

3:创建Access文件,代码如下:

/// <summary>

///创建Access数据库

/// </summary>

/// <param name="strFilePath">数据库文件的路径</param>

public static bool CreateAccess(string strFilePath)

{

ADOX.Catalog clg = new Catalog();

if (!File.Exists(strFilePath))

{

try

{

//创建clg后,其数据库的锁定文件laccdb就一直存在(用以锁定此数据库文件)

clg.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFilePath + ";Jet OLEDB:Engine Type=5");

}

catch (System.Exception ex)

{

MessageBox.Show("数据库创建失败", "提示");

return false;

}

}

return true;

}

4:创建数据表。只创建一个数据库文件是没有意义的,创建表的本质是把创建的字段添加到数据表中。其具体代码如下:

/// <summary>

///在Access数据库中创建数据库表文件

/// </summary>

/// <param name="FilePath">数据库表文件全路径 </param>

/// <param name="tableName">表名</param>

/// <param name="colums">ADOX.Column对象数组</param>

public bool CreateAccessTable(string FilePath, string tableName, params ADOX.Column[] colums)

{

bool bolReturn = false;

ADOX.Catalog clg = new Catalog();

//数据库文件存在

try

{

if (CreateAccess(FilePath) == true)

{

ADODB.Connection cn = new ADODB.Connection();//连接已创建的数据库文件

cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath, null, null, -1);

clg.ActiveConnection = cn;//打开已创建的数据库文件

ADOX.Table table1 = new ADOX.Table();

table1.Name = tableName;//命名一张表Administrator

/*设置类型

//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);//添加表到数据库文件

cn.Close();

bolReturn = true;

}

}

catch (Exception ex)

{

MessageBox .Show ("创建失败\r\n " + ex .ToString (),"提示");

}

return bolReturn;

}

5:创建按钮的代码如下:

//创建按钮

private void btnCreat_Click(object sender, EventArgs e)

{

Access ac = new Access();

string FilePath = @"C:\Users\dwa1124\Desktop\自动创建的Access数据表.mdb"; 

ADOX.Column column1 = new Column();

ADOX.Column column2 = new Column();

ADOX.Column column3= new Column();

//设置字段名:名字

column1.Type = ADOX.DataTypeEnum.adVarWChar;//设置类型为

column1.DefinedSize = 255;//设置长度

column1.Name = "名字";//设置字段名

//设置字段名:性别

column2.Type = ADOX.DataTypeEnum.adVarWChar;//设置类型为

column2.DefinedSize = 255;//设置长度

column2.Name = "性别";//设置字段名

//设置字段名:年龄

column3.Type = ADOX.DataTypeEnum.adInteger;//设置类型为

column3.DefinedSize = 9;//设置长度

column3.Name = "年龄";//设置字段名

//column.Properties["AutoIncrement"].Value = true;//设置自动增长

if (ac.CreateAccessTable(FilePath, "Administrator", column1,column2,column3))

{

MessageBox.Show("创建成功", "提示");

}

6:效果如图所示:

C#创建AccessC#创建Access

 

C#创建Access