以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  例子中的-网络环境下的复杂编号  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=142180)

--  作者:wei0769
--  发布时间:2019/10/20 17:34:00
--  例子中的-网络环境下的复杂编号
改成 1 就可以通过
If dr.RowState <> 1 Then \'如果不是新增行 把 DataRowState.Added 改成 1
   MessageBox.show("不是新增")
   Return \'那么返回
End If




图片点击可在新窗口打开查看此主题相关图片如下:tim截图20191020173215.png
图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:tim截图20191020173250.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境下的复杂编号.table


[此贴子已经被作者于2019/10/20 17:40:40编辑过]

--  作者:wei0769
--  发布时间:2019/10/20 19:10:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:tim截图20191020190910.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/10/20 20:14:00
--  
回1楼,这是正常的,因为代码是在datarowadding事件里,这个事件里的e.datarow的状态是Detached,而不是added,因为行还没有添加到表格中,这个在datarowadding事件不在有说明。

回2楼,没有数据库测试不了您的表。如果是远程数据库,这个应该是正常的,可能是带宽不够。如果是本地数据库就有问题了


DataRowState的值和名称对应:
1-Detached
2-Unchanged
4-Added
8-Deleted
16-Modified

--  作者:wei0769
--  发布时间:2019/10/20 21:05:00
--  
以下是引用有点蓝在2019/10/20 20:14:00的发言:
回1楼,这是正常的,因为代码是在datarowadding事件里,这个事件里的e.datarow的状态是Detached,而不是added,因为行还没有添加到表格中,这个在datarowadding事件不在有说明。

回2楼,没有数据库测试不了您的表。如果是远程数据库,这个应该是正常的,可能是带宽不够。如果是本地数据库就有问题了


DataRowState的值和名称对应:
1-Detached
2-Unchanged
4-Added
8-Deleted
16-Modified

2楼 是本地数据库,你可以用FT自带例子测试下
这个速度就是

图片点击可在新窗口打开查看此主题相关图片如下:tim截图20191020210625.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/10/20 21:06:36编辑过]

--  作者:有点蓝
--  发布时间:2019/10/20 21:31:00
--  
这个肯定慢了,因为编号是在BeforeSaveDataRow数据里处理的,每一行新增的行保存时都触发一次这个事件,当然就慢了。所以这个用法帮助已经说明过时了。

提醒:由于OpenQQ的出现,本节的内容已经过时,请参考用OpenQQ实现网络环境下的编号

其实帮助的目的是教用户学会处理问题的逻辑,学会某种用法,并不是说帮助给出的代码都是圣旨,就是完美无可替代的。在抄代码的同时还是要尽量理解代码。

--  作者:wei0769
--  发布时间:2019/10/21 11:07:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:tim截图20191021110611.png
图片点击可在新窗口打开查看