【问题标题】:Copy from dataset to access table in C#?从数据集复制到 C# 中的访问表?
【发布时间】: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

标签: c# ms-access dataset


【解决方案1】:

您可以尝试为表指定名称吗?

tab.TableName = "MyName";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-01
    • 2016-03-07
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 2011-12-26
    相关资源
    最近更新 更多