使用ADOX创建Access数据库和表
2024-09-07 19:04:57
供稿:网友
using system;
using adox;
namespace webportal
{
/// <summary>
/// createaccessdb 的摘要说明。
/// 对于不同版本的ado,需要添加不同的引用
/// 请添加引用microsoft ado ext. 2.7 for ddl and security
/// 请添加引用microsoft ado ext. 2.8 for ddl and security
/// </summary>
public class createaccessdb : system.web.ui.page
{
private void page_load(object sender, system.eventargs e)
{
//为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动iis来删除数据库。
string dbname = "d://newmdb"+datetime.now.millisecond.tostring()+".mdb";
adox.catalogclass cat = new adox.catalogclass();
cat.create("provider=microsoft.jet.oledb.4.0;data source=" + dbname +";");
response.write("数据库:" + 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);
//设置主键
tbl.keys.append("primarykey",adox.keytypeenum.adkeyprimary,"id","","");
cat.tables.append (tbl);
response.write("<br>数据库表:" + tbl.name + "已经创建成功!");
tbl=null;
cat = null;
}
#region web 窗体设计器生成的代码
override protected void oninit(eventargs e)
{
//
// codegen: 该调用是 asp.net web 窗体设计器所必需的。
//
initializecomponent();
base.oninit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void initializecomponent()
{
this.load += new system.eventhandler(this.page_load);
}
#endregion
}
}
本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。