我使用下面的代码建立了一个Access文件:
FileStream ps=new FileStream("Access.mdb",FileMode.Create,FileAccess.Write,FileShare.None)
但是在我打开该文件时却提示:
System.Data.OleDb.OleDbException: 不可识别的数据库格式
请问我该如何正确建立一个Access文件?
FileStream ps=new FileStream("Access.mdb",FileMode.Create,FileAccess.Write,FileShare.None)
但是在我打开该文件时却提示:
System.Data.OleDb.OleDbException: 不可识别的数据库格式
请问我该如何正确建立一个Access文件?
解决方案 »
- C# 数据库连接问题 ,各位大哥指教。
- treeview递归获取部门有误,在线等。
- 函数参数是object, 可以传struct进去吗
- 关于vs2005中Excel的引用的问题
- 如何关闭Excel进程
- WinForm下如何实现对Web虚拟目录中的文件的下载
- 大家好,想学C# ,能提点建议吗? 哪本书适合初学者
- 如何将XML节点数据直接映射为程序变量
- 关于序列化,这段代码中,为什么要info.GetInt32()?
- 关于用csc.exe编译的问题
- 各位大哥大姐:我要把后一个页面的DataGrid里的某行双击后,把它的ID号显示在前一个页面的textbox里,我应该怎么做啊?急!!谢谢各位啊!!!
- 如何在C#中等待一个命令行程序执行完后接着执行其他的代码?
-----------------------------------
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 +";");
MessageBox.Show ("数据库:" + 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); MessageBox.Show ("数据库表:" + tbl.Name + "已经创建成功!");
tbl=null;
cat = null;--------------------
要运行这段代码,还要注意下面的两个步骤!
一:在菜单的 项目--》添加引用---》COM 找到Microsoft ADO Ext. 2.7 for DDL and Security 添加上去(否则程序运行,会找不到ADOX的运行指令,对于不同版本的ADO,需要添加不同的引用,有的可能是2.6,2.8的
)
二:添上 using ADOX;
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName +";");
代码我就不客气用上了!