ailmheqin 发表于 2007-7-17 12:15
在線等幫助謝謝
Date l_rq<BR>dw_2.AcceptText()<BR>String l_card,l_money,l_row<BR>l_rq = dw_2.GetItemDate(1,'rq')<BR>l_card = dw_2.GetItemString(1,'bankcardno')<BR>l_money = dw_2.GetItemString(1,'money')<BR>SELECT bankcardno INTO :l_row FROM vip_active1 WHERE bankcardno = :l_card ;<BR>IF SQLCA.SQLCODE=0 THEN<BR> MessageBox('提示','該卡號存在')<BR> Return<BR> ELSE<BR> INSERT INTO vip_active1 VALUES(:l_card,:l_money,to_date(:l_rq));<BR> COMMIT;<BR> MessageBox('提示','保存成功')<BR>END IF<BR><BR>這個語句不判斷重復的卡號~~我用相同的卡號進行保存還是可以保存成功
sam2080 发表于 2007-7-17 13:14
可以这样改改<BR>法一:<BR>Date l_rq<BR>dw_2.AcceptText()<BR>String l_card,l_money --,l_row<BR>Long ll_count = 0<BR>--如果数据窗可能 有多条数据的话,必须进行循环判断<BR>l_rq = dw_2.GetItemDate(1,'rq')<BR>l_card = dw_2.GetItemString(1,'bankcardno')<BR>l_money = dw_2.GetItemString(1,'money')<BR>--SELECT bankcardno INTO :l_row FROM vip_active1 WHERE bankcardno = :l_card ;<BR>Select count(*) Into :ll_count From vip_active1 Where bankcardno = :l_card;<BR>--IF SQLCA.SQLCODE=0 THEN<BR>If ll_count > 0 Then<BR>MessageBox('提示','該卡號存在')<BR> Return<BR>ELSE<BR> INSERT INTO vip_active1 VALUES(:l_card,:l_money,to_date(:l_rq));<BR> COMMIT;<BR> MessageBox('提示','保存成功')<BR>END IF<BR><BR>法二:<BR>修改下数据结构,把bankcardno改为不可重复的字段
千金散尽 发表于 2007-7-17 14:18
<P>Select count(*) Into :ll_count From vip_active1 Where bankcardno = :l_card;<BR>--IF SQLCA.SQLCODE=0 THEN<BR>If ll_count > 0 Then<BR>update vip_active1 <BR>set l_money = '总和'<BR>where bankcardno = :l_card;<BR>ELSE<BR> INSERT INTO vip_active1 VALUES(:l_card,:l_money,to_date(:l_rq));<BR> COMMIT;<BR> MessageBox('提示','保存成功')<BR>END IF<BR></P>
ailmheqin 发表于 2007-7-17 16:24
<P>ok了謝謝啊~<BR></P>
ugly927846 发表于 2007-7-17 20:19
厉害
页:
[1]