以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]外部表自动编号问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118118)

--  作者:yahee
--  发布时间:2018/4/25 14:59:00
--  [求助]外部表自动编号问题

用SQL server 作为数据源,在数据表的DataRowAdding 事件中
Dim dt As Date = Date.Now
Dim bh As String = "XM" & dt.Year & dt.Month & dt.Day & dt.Hour & dt.Minute & dt.Second & "-" & rand.Next(100000) & "-" &  rand.Next(100000)
MessageBox.Show(bh)
e.DataRow("项目编号") = bh
MessageBox.Show(e.DataRow("项目编号"))
e.DataRow.Save


在表中项目编号为空,是什么原因

图片点击可在新窗口打开查看此主题相关图片如下:2018-04-25_145753.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2018-04-25_145804.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2018-04-25_145811.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/4/25 15:15:00
--  

代码写到DataRowAdded事件。

 

如果还是不行,删掉你datacolchanging、datacolchanged事件代码,再测试。


--  作者:yahee
--  发布时间:2018/4/25 15:23:00
--  
谢谢高手,
确实在datacolchanging 事件有个代码是防止更改编号的,删除了就可以了,谢谢

--  作者:有点甜
--  发布时间:2018/4/25 15:34:00
--  

你也可以把代码改成

 

Dim dt As Date = Date.Now
Dim bh As String = "XM" & dt.Year & dt.Month & dt.Day & dt.Hour & dt.Minute & dt.Second & "-" & rand.Next(100000) & "-" &  rand.Next(100000)
SystemReady = False
e.DataRow("项目编号") = bh
SystemReady = True
e.DataRow.Save