0

我能够在 ac#visual studio 2010 express 项目中使用 sql ce 3.5 生成更新语句,除了用于 ce 3.5 数据库表的数据集的文件查询的插入语句。

但是我遇到了运行时错误:Update requires a valid InsertCommand when passed DataRow collection with new rows from

  myTblAdaptor.Update(myTbl)

我确实使填充方法生成所有更新语句并直接 db.... 但我似乎无法找到 myTblAdaptor.Insert。实际上向导结果并没有列出 Insert 语句。不知道为什么。sql 是 SELECT [category], [Value], [seq] FROM [favorite]

所以我尝试通过在数据集设计表面上向 myTbl 添加一个插入查询来创建一个。生成 Insert1 方法。

然后我尝试通过添加 InsertMethod

右键单击数据集表面,选择视图代码,

然后在文件末尾我添加了:

namespace myappNS.myDSTableAdapters
{
public partial class myTblAdapter
{
    public int Insert(string category, string value, int? seq)
    {
        return Insert1(category, value, seq);
    }
}
}

我还尝试查看是否可以手动将 InsertCommand 定义到适配器,但找不到。

我能做些什么?

提前谢谢任何帮助。

4

1 回答 1

0

我的错误,我应该在主查询中找到不生成插入语句或不匹配的列数。这仅仅意味着数据库表定义不同于数据集的定义或主查询!

因此要修复错误,请从 dataqset 中删除表,然后将数据库表从 DataExporer 拖放到数据集设计图面上

于 2012-05-15T17:16:52.810 回答