如何对添加的数据于数据库内数据进行查重
这话确实很拗口,刚开始学总遇到很多的问题我做了一个员工登记
我想达到当输入身份证号码的时候,对于数据库内的员工身份证号进行比对,如果重复,弹出警告窗口,告知重复;如果无重复则顺利通过
我想了一下,但不是很行
出现问题
只能判断一次,不修改再次填写这个也能通过
string sfz_no,s_temp
if dwo.name="身份证号码" then
sfz_no=string(data)
end if
select "身份证号码" into:s_temp from employees where "身份证号码"=:sfz_no;
if s_temp<>"" then
messagebox("有重复","请检查")
end if
需要增加一些什么判断呢让其不修改就无法通过
你把事件写在itemfocuschanged里的吗?
可以试试在
messagebox("有重复","请检查")
下面加:
This.SetItem(1,"身份证号码","")
就是重复,就清空 ehxz 发表于 2015-3-2 00:13
你把事件写在itemfocuschanged里的吗?
可以试试在
messagebox("有重复","请检查")
是的
itemchanged里面
加了This.SetItem(1,"身份证号码","")
好像没效果,没清掉
是不是我思路有问题,好像只能查重一次
itemchanged 不太适合做这种判断,至少我觉得不建议这样做。 ehxz 发表于 2015-3-2 18:46
itemchanged 不太适合做这种判断,至少我觉得不建议这样做。
嗯
原来我用的是VFP
没有DW的概念
普通窗口加入一个个多个单向编辑框,然后一个个插入数据表
用lostfous即可
PB的DW将数据表的全部字段变为整体,有点无所适从
DW是PB的专属,其它是没有的。
多写几个方法,测试一下,熟悉的最快了。 修改的情况
select count(*) into :n from employees where "身份证号码"=:sfz_no and 主键 <> 这行的主键;
if n > 0 then
messagebox("有重复","请检查")
end if
插入的情况
select count(*) into :n from employees where "身份证号码"=:sfz_no ;
if n > 0 then
messagebox("有重复","请检查")
end if
页:
[1]