以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  在当前行输入主键值之前,不能新增加行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=108717)

--  作者:haige
--  发布时间:2017/10/27 16:56:00
--  在当前行输入主键值之前,不能新增加行
我连接了一张外部表,然后想在外部表里面新增多行,增加一行再增加就弹出这个提示。
这张外部表是公司ERP里面的一张表,不是我在狐表里建的
我看了下表结构,主键是FBillID和FOrder复合主键,都是无标识
于是我在datarowadding事件里对行的Fbillid和Forder赋值并save这一行
可是即使这样,新增多行时仍然增一行就停止了,再新增就报这个错
请问这是怎么回事呢?谢谢大家

--  作者:haige
--  发布时间:2017/10/27 16:57:00
--  
datarowadding事件的代码如下,还对FMaterial赋值是因为我看到表结构里Fmaterial这个字段不能为空
e.DataRow("FBillID")= e.DataTable.Compute("max(FBillID)")+1
e.DataRow("FOrder")=1
e.DataRow("FMaterial")="板"
e.DataTable.Save


--  作者:有点甜
--  发布时间:2017/10/27 16:59:00
--  

1、尽量加一列_Identify列作为主键;

 

2、你2楼的代码,尝试写到datarowadded事件去。

 

3、增加行,要用DataTables("").AddNew

[此贴子已经被作者于2017/10/27 16:59:46编辑过]

--  作者:haige
--  发布时间:2017/10/27 21:56:00
--  

用DataTables("").AddNew增加就行了,非常感谢!!