当前位置: 代码迷 >> PB >> 程序升级时出现异常,求
  详细解决方案

程序升级时出现异常,求

热度:178   发布时间:2016-04-29 05:16:57.0
程序升级时出现错误,求高手指点
请高手帮我看一下下面的代码,是用PB7.0写的,在7.0上可以运行,但PB升级到12.6时,在迁移时提示出现语法做错。
应该是在From 到where的语名有问题,要如何修改呢?
 ---------- Compiler: Errors   (10:31:49)
paysheet.pbl(w_login).login.clicked.34: Error       C0031: Syntax error
paysheet.pbl(w_login).login.clicked.35: Error       C0015: Undefined variable: d_user_add
paysheet.pbl(w_login).login.clicked.73: Error       C0020: Function with no return value used in expression
 ---------- Finished Errors   (10:31:49)



integer li_ret, li_index 
string ls_dbparm
string ls_username, ls_password,ls_dept
string ls_passwd,  ls_enabled 
string gs_userid
string gs_password
string gs_name
string gs_departno
string user_no
  

ls_username =Trim(sle_user_no.text)
ls_password = Trim(sle_password.text)

if ls_username = "" then
sle_user_no.SetFocus()
return
end if

  SELECT user_no,
              name  ,
              dept_no,   
              password,
             user_status,
//           getdate()
    INTO :gs_userid, 
            :gs_name,
            :gs_departno,   
            :gs_password,
            :ls_enabled,
//          :gs_date
FROM d_user_add 
   WHERE ( rtrim(d_user_add.user_no) =:ls_username );
li_ret = 0

if sqlca.sqlcode=-1 then
 messagebox("Login fail","Don't connect database")
return 0
end if
if sqlca.sqlcode = 100 then
messagebox("Login fail", "no this username!")
sle_user_no.SetFocus()
li_ret = -1
elseif sqlca.sqlcode = 0 then
ls_passwd = Trim(gs_password)
ls_enabled = Trim(ls_enabled)
if ls_passwd <> ls_password then
messagebox("Login fail", "Password error")
   sle_password.SetFocus()
li_ret = -1
end if
if upper(ls_enabled) = "N" then
messagebox("Login fail", "The username don't use at present,Please tell administrators")
   sle_user_no.SetFocus()
li_ret = -1
end if

end if

if li_ret <> 0 then
wi_i_count += 1
if wi_i_count > 0 then 
    st_errlog.visible = true
  
end if
   if wi_i_count = 3 then
CloseWithReturn(parent, -1)
return 0
end if
wf_errlog()
return 0
 end if

timer(0,parent)
open(w_paysheetmain)
close(parent)
end event

------解决思路----------------------
          user_status,
 这里多个逗号
------解决思路----------------------
 SELECT user_no,
              name  ,
              dept_no,   
              password,
             user_status,//这里多个逗号
//           getdate()
    INTO :gs_userid, 
            :gs_name,
            :gs_departno,   
            :gs_password,
            :ls_enabled, //这里多个逗号
//          :gs_date
FROM d_user_add 
  相关解决方案