日期:2014-05-17  浏览次数:21287 次

C#创建access2007数据库
各位老师高手大家好,请教一个问题:
1、我的电脑是win8,64位。
2、我在vs2008下开发access2007数据库,C#创建access2007数据库,提示错误,请赐教。详见附图,谢谢!!


3、数据库引擎已经安装,源码如下,谢谢赐教!


private void button1_Click(object sender, EventArgs e)
        {
            //连接串换成Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;解决了。
            string accdb = this.textBox1.Text; // "d:\\test.accdb";//"d:\\test2.accdb";   //
            if (System.IO.File.Exists(accdb)) System.IO.File.Delete(accdb);
            ADOX.Catalog cat = new ADOX.Catalog();

            cat.Create("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + accdb);
            //cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + accdb);
            
            ADOX.Table tbl = new ADOX.Table();
            tbl.ParentCatalog = cat;

            tbl.Name = "Table1";

            //增加一个自动增长的字段
            ADOX.Column col = new ADOX.Column();
            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.Column col2 = new ADOX.Column();
            col2.ParentCatalog = cat;
            col2.Name = "Description";
            col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
            tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25);

            //增加数字字段
            ADOX.Column col3 = new ADOX.Column();
            col3.ParentCatalog = cat;
        &