【发布时间】:2012-05-16 01:16:52
【问题描述】:
我能够在使用 sql ce 3.5 的 c#visual studio 2010 express 项目中为 ce 3.5 数据库表的数据集的文件查询的插入语句生成更新语句。
但是我得到了运行时错误: 使用新行传递 DataRow 集合时,更新需要有效的 InsertCommand 来自
myTblAdaptor.Update(myTbl)
我确实让填充方法生成所有更新语句并直接生成数据库....但我似乎无法找到 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 定义到适配器,但找不到。
我能做什么?
提前感谢您的帮助。
【问题讨论】:
-
我也试过 myTblAdapter.Adapter.InsertCommnad = new SqlCeCommand("insert into myTbl values(@category,@Value,@seq)", favoriteAdapter);但是,除了 myTblAdapter.Update(myTbl) 上的“查询中的列数和表必须匹配。[查询中的列数 = 3,表中的列数 = 4]”外,我得到了“奖励”;
标签: insert tableadapter