Foxtable(狐表)用户栏目专家坐堂 → [求助]datatable(“***").datarows.addnew不能触发datarowadding事件?


  共有1895人关注过本帖树形打印复制链接

主题:[求助]datatable(“***").datarows.addnew不能触发datarowadding事件?

美女呀,离线,留言给我吧!
cherryjing
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
[求助]datatable(“***").datarows.addnew不能触发datarowadding事件?  发帖心情 Post By:2016/11/8 8:44:00 [只看该作者]

在一个窗口按钮的click事件中有如下代码:
Dim db As DataTable = DataTables("专业领域")
Dim dr As DataRow = DataTables("专业领域").Find("所属专业 = '" & strMajor & "' And 专业领域 = '" & strType & "' And 表名 = '" & strTableName & "'")

If dr Is Nothing Then
    dr = DataTables("专业领域").DataRows.AddNew
    dr("所属专业") = strMajor
    dr("专业领域") = strType
    dr("表名") = strTableName
End If


在表“专业领域”的datarowadding事件中仿照帮助有如下代码:
e.DataRow("_Identify") = e.DataTable.Compute("Max(_Identify)") + 1

可是当点击那个窗口按钮时却提示:

“_Identify”列不能为空

请问这是怎么回事?难道datarowadding没有被触发?
[此贴子已经被作者于2016/11/8 8:45:16编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/8 8:50:00 [只看该作者]

 _Identify的值,是自动递增的,你为什么要赋值?你在数据库设置列的时候,要设置成自动递增

 

http://www.foxtable.com/webhelp/scr/1807.htm

 


 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2016/11/8 9:05:00 [只看该作者]

因为是外部数据表

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2016/11/8 9:10:00 [只看该作者]

开始的时候是没有做datarowadding事件,就报这个错,后来想到可能是因为外部表的原因才加了那个事件处理代码,但还是出这个错

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/8 17:52:00 [只看该作者]

 你要在你的数据库那里把_Identify设置成自动递增。

 

 如果此列你设置成了非空或主键,只要有一行的数据为空,都会报这个错


 回到顶部