接着上次的统计问题,请教!

pecker 2002-12-23 03:35:47
我听取了各位的意见,试了一下。
我先设计了一个datawindow,控件是dw_2
这个数据窗口是grid形式,最下面一行是summary做的统计。
根据各位的指点,统计数据是可以读出来了,但是现在我往库里回写出了问题。
不知道为什么?是不是Insert 语句用的不对?
请赐教?
另外我想问,我以后要问的问题很多,如果我的分数用完了怎么办呢?

我的这段程序是这样的:其中sys_year,sys_month,sys_dwbh是我定义的全局变量,string类型。

string ls_nd,ls_yf,ls_dwbh,ls_zgh
dec ls_rs_c,ls_rs_l,ls_gwgz,ls_jngz,ls_xygz,ls_nggz,ls_jbgz,ls_ltgz,ls_rgz,ls_cqgz,ls_tbgz,ls_bfgz
dec ls_jiagz,ls_ycf,ls_jj,ls_jlxj,ls_hkjt,ls_jsjt,ls_hjjt,ls_ljbt,ls_gjjt,ls_sxjt,ls_wcbt,ls_jtf,ls_jwqn
dec ls_sdbt,ls_tsxja,ls_gzxj,ls_ft,ls_srf,ls_xlf,ls_zfgj,ls_hfbt,ls_zfjt,ls_tsxjb
dec ls_ydhj,ls_ff,ls_sf,ls_df,ls_mqf,ls_wsf,ls_ssf,ls_fgjj,ls_ylbx,ls_sybx,ls_yibx
dec ls_sds,ls_kqfk,ls_kjkk,ls_byjkk,ls_qtkk,ls_kkhj,ls_sdgz

dw_1.SetTransObject (SQLCA)
newfilter="nd='"+sys_year+"' and yf='"+sys_month+"' and dwbh='"+sys_dwbh+"'"
dw_1.setfilter(newfilter)
dw_1.Retrieve (0)
dw_2.SetTransObject (SQLCA)
dw_2.setfilter(newfilter)
dw_2.Retrieve (0)
disconnect;

ls_rs_c = dw_2.GetItemNumber(1,"tj_rs_c")
ls_rs_l = dw_2.GetItemNumber(1,"tj_rs_l")
ls_gwgz = dw_2.GetItemNumber(1,"tj_gwgz")
ls_jngz = dw_2.GetItemNumber(1,"tj_jngz")
ls_xygz = dw_2.GetItemNumber(1,"tj_xygz")
ls_nggz = dw_2.GetItemNumber(1,"tj_nggz")
ls_jbgz = dw_2.GetItemNumber(1,"tj_jbgz")
ls_ltgz = dw_2.GetItemNumber(1,"tj_ltgz")
ls_rgz = dw_2.GetItemNumber(1,"tj_rgz")
ls_cqgz = dw_2.GetItemNumber(1,"tj_cqgz")
ls_tbgz = dw_2.GetItemNumber(1,"tj_tbgz")
ls_bfgz = dw_2.GetItemNumber(1,"tj_bfgz")
ls_jiagz= dw_2.GetItemNumber(1,"tj_jiagz")
ls_ycf = dw_2.GetItemNumber(1,"tj_ycf")
ls_jj = dw_2.GetItemNumber(1,"tj_jj")
ls_jlxj = dw_2.GetItemNumber(1,"tj_jlxj")
ls_hkjt = dw_2.GetItemNumber(1,"tj_hkjt")
ls_jsjt = dw_2.GetItemNumber(1,"tj_jsjt")
ls_hjjt = dw_2.GetItemNumber(1,"tj_hjjt")
ls_ljbt = dw_2.GetItemNumber(1,"tj_ljbt")
ls_gjjt = dw_2.GetItemNumber(1,"tj_gjjt")
ls_sxjt = dw_2.GetItemNumber(1,"tj_sxjt")
ls_wcbt = dw_2.GetItemNumber(1,"tj_wcbt")
ls_jtf = dw_2.GetItemNumber(1,"tj_jtf")
ls_jwqn = dw_2.GetItemNumber(1,"tj_jwqn")
ls_sdbt = dw_2.GetItemNumber(1,"tj_sdbt")
ls_tsxja= dw_2.GetItemNumber(1,"tj_tsxja")
ls_gzxj = dw_2.GetItemNumber(1,"tj_gzxj")
ls_ft = dw_2.GetItemNumber(1,"tj_ft")
ls_srf = dw_2.GetItemNumber(1,"tj_srf")
ls_xlf = dw_2.GetItemNumber(1,"tj_xlf")
ls_zfgj = dw_2.GetItemNumber(1,"tj_zfgj")
ls_hfbt = dw_2.GetItemNumber(1,"tj_hfbt")
ls_zfjt = dw_2.GetItemNumber(1,"tj_zfjt")
ls_tsxjb= dw_2.GetItemNumber(1,"tj_tsxjb")
ls_ydhj = dw_2.GetItemNumber(1,"tj_ydhj")
ls_ff = dw_2.GetItemNumber(1,"tj_ff")
ls_sf = dw_2.GetItemNumber(1,"tj_sf")
ls_df = dw_2.GetItemNumber(1,"tj_df")
ls_mqf = dw_2.GetItemNumber(1,"tj_mqf")
ls_wsf = dw_2.GetItemNumber(1,"tj_wsf")
ls_ssf = dw_2.GetItemNumber(1,"tj_ssf")
ls_fgjj = dw_2.GetItemNumber(1,"tj_fgjj")
ls_ylbx = dw_2.GetItemNumber(1,"tj_ylbx")
ls_sybx = dw_2.GetItemNumber(1,"tj_sybx")
ls_yibx = dw_2.GetItemNumber(1,"tj_yibx")
ls_sds = dw_2.GetItemNumber(1,"tj_sds")
ls_kqfk = dw_2.GetItemNumber(1,"tj_kqfk")
ls_kjkk = dw_2.GetItemNumber(1,"tj_kjkk")
ls_byjkk= dw_2.GetItemNumber(1,"tj_byjkk")
ls_qtkk = dw_2.GetItemNumber(1,"tj_qtkk")
ls_kkhj = dw_2.GetItemNumber(1,"tj_kkhj")
ls_sdgz = dw_2.GetItemNumber(1,"tj_sdgz")

connect using sqlca;
Insert into gzk(gzk.nd,gzk.yf,gzk.dwbh,gzk.zgh,
gzk.rs_c,gzk.rs_l,gzk.gwgz,gzk.jngz,gzk.xygz,gzk.nggz,gzk.jbgz,
gzk.ltgz,gzk.rgz,gzk.cqgz,gzk.tbgz,gzk.bfgz,gzk.jiagz,gzk.ycf,gzk.jj,
gzk.jlxj,gzk.hkjt,gzk.jsjt,gzk.hjjt,gzk.ljbt,gzk.gjjt,gzk.sxjt,
gzk.wcbt,gzk.jtf,gzk.jwqn,gzk.sdbt,gzk.tsxja,gzk.gzxj,gzk.ft,
gzk.srf,gzk.xlf,gzk.zfgj,gzk.hfbt,gzk.zfjt,gzk.tsxjb,gzk.ydhj,
gzk.ff,gzk.sf,gzk.df,gzk.mqf,gzk.wsf,gzk.ssf,gzk.fgjj,gzk.ylbx,
gzk.sybx,gzk.yibx,gzk.sds,gzk.kqfk,gzk.kjkk,gzk.byjkk,gzk.qtkk,
gzk.kkhj,gzk.sdgz)
values(:sys_year,:sys_month,:sys_dwbh,"hj",
:ls_rs_c,:ls_rs_l,:ls_gwgz,:ls_jngz,:ls_xygz,:ls_nggz,:ls_jbgz,
:ls_ltgz,:ls_rgz,:ls_cqgz,:ls_tbgz,:ls_bfgz,:ls_jiagz,:ls_ycf,:ls_jj,
:ls_jlxj,:ls_hkjt,:ls_jsjt,:ls_hjjt,:ls_ljbt,:ls_gjjt,:ls_sxjt,
:ls_wcbt,:ls_jtf,:ls_jwqn,:ls_sdbt,:ls_tsxja,:ls_gzxj,:ls_ft,
:ls_srf,:ls_xlf,:ls_zfgj,:ls_hfbt,:ls_zfjt,:ls_tsxjb,:ls_ydhj,
:ls_ff,:ls_sf,:ls_df,:ls_mqf,:ls_wsf,:ls_ssf,:ls_fgjj,:ls_ylbx,
:ls_sybx,:ls_yibx,:ls_sds,:ls_kqfk,:ls_kjkk,:ls_byjkk,:ls_qtkk,
:ls_kkhj,:ls_sdgz) using sqlca;
commit;
if sqlca.sqlcode=0 then
messagebox("","ok")
else
messagebox("","not ok")
end if
disconnect;

...全文
48 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pecker 2002-12-27
  • 打赏
  • 举报
回复
竹雨兄,我的程序没什么问题,显示的是messagebox("ok)
可是怎么数据库里没见动静啊?
ddtid 2002-12-23
  • 打赏
  • 举报
回复
一、你不要动不动就disconnect和connect,一般一个application只要一对就可以了
二、把messagebox("","not ok")
换成messagebox("","错误代码:" + string(sqlca.sqldbcode) + "~n错误原因:"+sqlca.sqlerrtext)
把显示出来的东西贴过来
三、你的commit只有成功的时候用,失败了用Rollback,两个东西写到if else里面去
四、分用完了找我要
pecker 2002-12-23
  • 打赏
  • 举报
回复
我说过,我的字段很多啊。
xiaozg118 2002-12-23
  • 打赏
  • 举报
回复

这么长
晕!

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧