Foxtable(狐表)用户栏目专家坐堂 → 关于保存时遇到重复值或空值的判断


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

主题:关于保存时遇到重复值或空值的判断

帅哥哟,离线,有人找我吗?
amao47kiki2
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:20 积分:272 威望:0 精华:0 注册:2015/10/29 10:36:00
关于保存时遇到重复值或空值的判断  发帖心情 Post By:2016/3/31 18:26:00 [只看该作者]

我在BeforeSaveDataRow中设置以下代码

Dim dr As DataRow 
dr = e.DataTable.Find("档案索引号= '" & e.DataRow("档案索引号")& "'")
If dr IsNot Nothing Then
     MessageBox.Show("此档案索引号已经存在!")
     e.Cancel = True
End If
If e.DataRow.IsNull("档案索引号")Then
     MessageBox.Show("档案索引号不允许为空!")
     e.Cancel = True
End If

保存的时候确实也成功了。但是,我发现判断重复值的时候,判断范围过大。例如我上传的图中,所有的档案索引号都是7个字符的(如“DA00279”),我录入的是(如“DA0027”),代码居然也判断有重复。我上面的代码find用的是“=”,也没有用“like”和通配符,为什么也会认为重复呢?要怎么写才对?




另外,论坛怎么插入图片?原来要用IE浏览器



此主题相关图片如下:11.png
按此在新窗口浏览图片
[此贴子已经被作者于2016/3/31 18:32:04编辑过]

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


加好友 发短信
等级:婴狐 帖子:20 积分:272 威望:0 精华:0 注册:2015/10/29 10:36:00
  发帖心情 Post By:2016/3/31 18:55:00 [只看该作者]

搞清楚了,dr = e.DataTable.Find("档案索引号= '" & e.DataRow("档案索引号")& "'")应该改为

 

dr = e.DataTable.Find("档案索引号= '" & e.DataRow("档案索引号")& "'",,1) 意思是要搜索第二条记录。

 

按我原来的,只是存在一条记录。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/31 19:19:00 [只看该作者]

 


dr = e.DataTable.Find("档案索引号= '" & e.DataRow("档案索引号")& "' and _Identify <> " & e.DataRow("_Identify"))

[此贴子已经被作者于2016/3/31 19:19:19编辑过]

 回到顶部