表数据更新的问题,下面代码错在那里?在线等待!
海洋‘s 2002-08-27 01:21:05 问题描述:
1.根据用户录入的数据,更新数据表。即:用sle_error1.text,sle_error2.text中的值更新cws1,cws2
2.当sle_error1.text,sle_error2.text中输入错误记录的时候,按下“确定”后可以将该错误数保存到库中;但是当sle_error1.text,sle_error2.text中没有输入的时候,按下“确定”后数据库中保存的是0,而实质 上我要的结果不是0,而是Null值;
3.主要目的是:当sle_error1.text,sle_error2.text中任何一个为空,或者二者都为空的时候,其相应的值 应该是Null,而不是0.
即:当sle_error1.text=“”时,数据库中对应的cws1的值应该是Null
sle_error2.text=“”时,数据库中对应的cws2的值应该是Null
如果sle_error1.text=“”,sle_error2.text=“” 时,数据库中对应的cws1,cws2的值应该是Null
int n_count,li_cws1,li_cws2, i
li_cws1 =integer(sle_error1.text)
li_cws2 =integer(sle_error2.text)
if sqlca.sqlcode= -1 then
Messagebox("提示","确认信息错误",Exclamation!,OK!)
Rollback using sqlca;
//如果录入错误数1和录入错误数2都为空
elseif isnull(li_cws1) or isnull(li_cws1) then
INSERT INTO mng_dbsh(jhid, zybz, lrr1, lrrq1, cws1,
lrr2, lrrq2, cws2,
shr, shrq)
VALUES(:ls_jhid, 'N', :ls_lrr1, :ld_lrrq1, null,
:ls_lrr2, :ld_lrrq2, null,
:ls_shr, :ld_shrq);
//如果录入错误数1为空
elseif isnull(li_cws1) then
Messagebox("错误数1",li_cws1)
INSERT INTO mng_dbsh(jhid, zybz, lrr1, lrrq1, cws1,
lrr2, lrrq2, cws2,
shr, shrq)
VALUES(:ls_jhid, 'N', :ls_lrr1, :ld_lrrq1, null,
:ls_lrr2, :ld_lrrq2,:li_cws2,
:ls_shr, :ld_shrq);
//如果录入错误数2为空
elseif isnull(li_cws1) then
INSERT INTO mng_dbsh(jhid, zybz, lrr1, lrrq1, cws1,
lrr2, lrrq2, cws2,
shr, shrq)
VALUES(:ls_jhid, 'N', :ls_lrr1, :ld_lrrq1,:li_cws1,
:ls_lrr2, :ld_lrrq2,Null,
:ls_shr, :ld_shrq);
else
dw_wsh.ResetUpdate()
dw_ysh.ResetUpdate()
commit using sqlca;
Messagebox("提示","确认信息成功提交",Exclamation!,OK!)
cb_ok.Enabled=false
sle_error1.text=""
sle_error2.text=""
end if