C# Access 建表

可以成功新建一个数据库,但是不能新建一个表,而且还不报错。让我无从下手!!!
请大家帮忙看看 VS 2013 + Access 2007

//新建数据库
ADOX.CatalogClass cat = new ADOX.CatalogClass(); cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\COOL\\Desktop\\Database11.accdb;");
//建表
ADODB.Connection cn = new ADODB.Connection(); cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\COOL\\Desktop\\Database11.accdb;");
cat.ActiveConnection = cn;
ADOX.TableClass tab = new ADOX.TableClass();
tab.ParentCatalog = cat;
tab.Name = "NewTab";
cn.Close();

ADOX 创建access数据库

using System.Data.OleDb;
using ADOX;

string fileName = @"C:\myf.mdb";
string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName;
ADOX.Catalog catalog = new Catalog();
try
{
    catalog.Create(conn);
}
catch

}
ADODB.Connection cn = new ADODB.Connection();
cn.Open(conn, null, null, -1);
catalog.ActiveConnection = cn;
ADOX.Table table = new ADOX.Table();
table.Name = "AdPlayList";
ADOX.Column column = new ADOX.Column();
column.ParentCatalog = catalog;
column.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
column.Name = "ID";
column.DefinedSize = 9;
column.Properties["AutoIncrement"].Value = true;
table.Columns.Append(column, DataTypeEnum.adInteger, 0);
table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "ID", "", "");
table.Columns.Append("FileName", DataTypeEnum.adVarWChar, 50);
table.Columns.Append("FileDate", DataTypeEnum.adDate, 0);
table.Columns.Append("FileSize", DataTypeEnum.adInteger, 9);
table.Columns.Append("OrderID", DataTypeEnum.adInteger, 9);
table.Columns.Append("Sha1", DataTypeEnum.adVarWChar, 50);
try
{
    catalog.Tables.Append(table);
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
//此处一定要关闭连接,否则添加数据时候会出错
table = null;
catalog = null;
Application.DoEvents();
cn.Close();
OleDbConnection con = new OleDbConnection();
con.CreateCommand();

温馨提示:答案为网友推荐,仅供参考
相似回答