【发布时间】:2011-03-21 07:53:32
【问题描述】:
我有一个数据集(来自 XML 文件),我想从该数据集中读取架构和值并将其复制到访问表中。
我想动态创建访问数据库(可以使用 ADOX),创建访问表(从 ADOX)在此表中创建架构并将数据集中的值复制到此表中。
当我尝试创建表并在其中添加列时出现错误,下面是给我一个错误的代码 sn-p
DataSet ds = new DataSet();
Console.Write("The NAME IS" + FileName.Text.ToString());
ds.ReadXml("FILE_PATH" + FileName.Text.ToString());
ADOX.Catalog cat = new Catalog();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='DATABASE_NAME';Jet OLEDB:Engine Type=5");
Table tab = new Table();
tab.Columns.Append("Column Name", DataTypeEnum.adVarChar, 50);
// 我以这种方式再插入 32 列
cat.Tables.Append(tab);
当我运行这个代码块时,我得到 COM Exception : "TableID is invalid"。
我是否尝试用正确的方法来做到这一点?如何将数据集中的值复制到该表中?
【问题讨论】:
-
您能否更具体地说明您的异常,例如,完整的异常文本和堆栈跟踪是什么,以及究竟是哪一行引发了异常?谢谢。
-
您在哪里为表指定了名称?这是您在未指定名称时通常会遇到的错误。
-
谢谢,我能够摆脱这个错误。通过将名称添加到表中,并且表的 parentcatalog 属性必须是目录对象。谢谢-Sid