| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1117 人关注过本帖
标题:我想问一下怎么才能查询插入的关键字 有重复
只看楼主 加入收藏
quanhj
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-10
收藏
 问题点数:0 回复次数:10 
我想问一下怎么才能查询插入的关键字 有重复
我在做插入新数据的时候 用什么语句才能查处关键字有重复,谢谢大家了
不单是在DW中
搜索更多相关主题的帖子: 关键 查询 语句 数据 
2006-05-22 11:49
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 
直接查询数据库中有无此数据不行吗?
2006-05-22 12:17
quanhj
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-10
收藏
得分:0 

能把语句写出来吗 麻烦了 我只是想验证一下申请账号是否成在!!!

2006-05-22 13:10
quanhj
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-10
收藏
得分:0 
我写的语句是这样的select 注册帐号 into:id from 教师注册表 where 注册帐号:=name
if trim(id)<>then
messagebox("提示","该帐号已被申请!!")
else
messagebox("提示","恭喜你,可以注册此号!!")
insert.....
其中:string name,id
name=trim(sle_1.text)
怎么老是执行第一条语句呀!!!!
2006-05-23 22:47
wsl000
Rank: 2
等 级:新手上路
威 望:4
帖 子:248
专家分:0
注 册:2006-3-8
收藏
得分:0 

if id="" or isnull(id) then
messagebox("提示","恭喜你,可以注册此号!!")
insert.....
else
messagebox("提示","该帐号已被申请!!")
end if


2006-05-24 10:28
quanhj
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-10
收藏
得分:0 
我记得我也想这样写了的 但是还是只执行第一句 郁闷死了!! 等我回去在去试一试!谢谢了
2006-05-24 15:54
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 

第一句?
执行到哪儿来了?
你先给id设置为Null型吧!!

2006-05-25 12:30
quanhj
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-10
收藏
得分:0 

只执行到“messagebox("提示","该帐号已被申请!!")” 哎呀 郁闷呀!!!谢谢大家了

2006-05-25 14:49
lclqxy
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-6-6
收藏
得分:0 

对此你可以专门写个函数。主要是用来校验主键是否重复,这在PB开发中是长用到的。
我给你一个我们程序里使用的,也是我写的(可根据需要修改为检测其他类型主键是否冲突。
f_validateprimarykey(datawindow,string,string,string,string)

/*
检查主键是否冲突
主键类型为字符型
*/
long i,j
long ll_ret,ll_rowcount
string ls_valueold1, ls_valueold2, ls_valueold3,ls_value1, ls_value2, ls_value3
integer ll_valueold, ll_value
string ls_scolcname1, ls_scolcname2, ls_scolcname3, ls_lcolcname, ls_temp
ll_rowcount=dwo.rowcount()
if ll_rowcount>1 then
dwo.accepttext()
ls_scolcname1=dwo.Describe( rs_scolname1 + "_t.text" )
ls_scolcname2=dwo.Describe( rs_scolname2 + "_t.text" )
ls_scolcname3=dwo.Describe( rs_scolname3 + "_t.text" )
ls_lcolcname=dwo.Describe( rs_lcolname + "_t.text" )

ls_temp="关键字字段:"



if rs_scolname1<>"" then
if right(ls_scolcname1,1)=":" then
ls_temp=ls_temp + left( ls_scolcname1, len( ls_scolcname1 ) -1 ) + "、"
else
ls_temp=ls_temp +ls_scolcname1 + "、"
end if

end if
if rs_scolname2<>"" then
if right(ls_scolcname2,1)=":" then
ls_temp=ls_temp + left( ls_scolcname2, len( ls_scolcname2 ) -1 ) + "、"
else
ls_temp=ls_temp + ls_scolcname2 + "、"
end if
end if
if rs_scolname3<>"" then
if right(ls_scolcname3,1)=":" then
ls_temp=ls_temp + left( ls_scolcname3, len( ls_scolcname3 ) -1 ) + "、"
else
ls_temp=ls_temp + ls_scolcname3 + "、"
end if
end if

if rs_lcolname<>"" then
if right(ls_lcolcname,1)=":" then
ls_temp=ls_temp + left( ls_lcolcname, len( ls_lcolcname ) -1) + "、"
else
ls_temp=ls_temp + ls_lcolcname + "、"
end if
end if

ls_temp=left( ls_temp, len(ls_temp )-2 )

for i=1 to ll_rowcount
//获得第i行的记录值
if rs_scolname1<>"" then ls_valueold1=dwo.getitemstring(i,rs_scolname1)
if rs_scolname2<>"" then ls_valueold2=dwo.getitemstring(i,rs_scolname2)
if rs_scolname3<>"" then ls_valueold3=dwo.getitemstring(i,rs_scolname3)
if rs_lcolname<>"" then ll_valueold=dwo.getitemnumber(i,rs_lcolname)
for j=i+1 to ll_rowcount
//获得第j行的记录值
if rs_scolname1<>"" then ls_value1=dwo.getitemstring(j,rs_scolname1)
if rs_scolname2<>"" then ls_value2=dwo.getitemstring(j,rs_scolname2)
if rs_scolname3<>"" then ls_value3=dwo.getitemstring(j,rs_scolname3)
if rs_lcolname<>"" then ll_value=dwo.getitemnumber(j,rs_lcolname)

if ls_valueold1=ls_value1 and ls_valueold2=ls_value2 and ls_valueold3=ls_value3 and ll_valueold=ll_value then
msgerror("第"+string(i)+","+string(j)+"条记录关键字重复!~n" + ls_temp)
dwo.Scrolltorow( i )
dwo.setfocus()
dwo.SetColumn( rs_scolname1 )
return i
end if
next
next
end if
return 0

2006-05-30 14:23
quanhj
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-10
收藏
得分:0 
谢谢了,不过看不当懂这个 呵呵
2006-05-31 09:04
快速回复:我想问一下怎么才能查询插入的关键字 有重复
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017076 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved