【问题标题】:TableAdapter wizard not generating INSERT method - UPDATE and DELETE fineTableAdapter 向导不生成 INSERT 方法 - UPDATE 和 DELETE 很好
【发布时间】:2013-08-01 14:35:42
【问题描述】:

我继承了一个带有 Access 后端的项目,使用了我以前没有使用过的 TableAdapters。

架构中的大多数表都可以正常工作,但有一个表没有生成 INSERT 语句和插入方法。

我已经检查了这里提到的所有内容:http://msdn.microsoft.com/en-us/library/ms233812(vs.80).aspx

适配器正在对单个表使用简单查询,用于生成语句和方法的复选框已打勾,并且该表具有主键。 UPDATE 和 DELETE 工作正常。

还有什么可能会影响这个吗?

【问题讨论】:

    标签: .net vb.net tableadapter


    【解决方案1】:

    进入 xsd 文件并查看 TableAdaptor 的属性,您应该有一个 InsertCommand 条目。如果缺少,您可以手动添加。

    这显然假设您使用的是 xsd 文件。

    编辑:

    您是否尝试过使用附加到同一张表的向导添加新的 TableAdaptor 以查看它是否在没有插入命令的情况下生成?

    【讨论】:

    • 是的,我可以手动添加它,但这意味着在项目的所有表中,这一个需要担心手动插入命令 - 维护有点痛苦,我宁愿找出向导不起作用的原因。
    • 您是否尝试过使用附加到同一个表的向导添加新的 TableAdaptor 以查看它是否在没有插入命令的情况下生成?
    • 啊!没想到,这似乎成功了 - 将其添加为答案,我会将其标记为正确。
    • 我已将您的答案标记为正确,因为它 a) 有效并且 b) 解决了我的问题,但为了避免可能破坏关系,我实际所做的是进入向导,删除查询文本,使用表格选择器重新构建,然后再次完成向导 - 这似乎与生成一个全新的 TableAdapter 的方式相同。
    【解决方案2】:

    我遇到了同样的问题,但是我发现表没有主键,通过添加主键来解决,现在可以正常工作了,你试过了吗?

    【讨论】:

    • 有趣的想法——我得试试看
    【解决方案3】:

    我遇到了同样的问题,发现如果我从数据集中省略了数据库中 NOT NULL 的字段,则不会创建 INSERT 命令。一旦我在数据集中包含了NOT NULL 字段,INSERT 命令就创建了。

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题。我进行了我的第一个 tableadapter 查询并将其从“从文件名中选择 fid1、fid2、fid3”更改为“从表名中选择 *”并检查我是否想要生成插入、更新等。它生成了所有新命令。效果很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-26
        • 2011-05-16
        • 2013-10-25
        • 2013-11-16
        • 2013-12-13
        • 2013-08-29
        • 2011-01-17
        相关资源
        最近更新 更多