回 帖 发 新 帖 刷新版面

主题:求助:PB数据库中的一个问题

跪求PB高手帮小弟解决一个问题,您可能是举手之劳,我是郁闷了很久了,不胜感激啊!
首先我通过“datebase”建立了两个表,表明分别是:userlogin和gzinfo 分别用来存放登录用户的用户名、密码和故障信息(就是该数据库里头所要求查询的信息)。
然后建立一个名为userlogin(名字随便起的)的APP应用,在userlogin的open事件中填写了下面代码:
SQLCA.DBMS="ODBC"
SQLCA.Database="userlogin"
SQLCA.DBParm="connectstring='DSN=userlogin;uid=dba;pwd=sql'"
Connect using SQLCA;
if SQLCA.Sqlcode<>0 then
        messagebox("不能连接上数据库!",SQLCA.sqlerrtext)
        return
else
        open(w_login)
end if
然后又建立了三个窗口分别是:w_login   w_main   w_bianhao
窗口w_login是登录界面,输入用户名(从下拉框中选取)和密码后进入系统,因此我在open事件中填写如下代码:
ddplb_1.text=""
STRING  uname
int i 
                                                                  // 声明游标ucur,其功能是从表中得到字段username中的姓名DECLARE ucur CURSOR FOR
    SELECT username
         FROM userlogin;
OPEN ucur;
i=1
FETCH ucur into:uname;
DO while SQLCA.SQLCODE=0
        Ddplb_1.ADDitem(uname)
        i++
        FETCH ucur into : uname;
loop
close ucur;

在w_main窗口中设计了一个菜单,其中一个是“按编号查询(故障信息)”
点击该选项之后打开一个名为w_bianhao的子窗口,目的是在该窗口中实现按编号查询故障信息。
因此在其click事件中填写:open(w_bianhao)

在w_bianhao窗口的open事件中填写一下代码:
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = true
SQLCA.DBParm = "ConnectString='DSN=gzinfo;UID=dba;PWD=sql'"
Connect Using SQLCA;

if sqlca.sqlcode=0 then
        messagebox("提示:","连接数据库成功!")
else
        messagebox("提示:","连接数据库出错!")
end if
问题就出在这里了,在运行时,点击按“编号查询”按钮之后先提示:“连接数据库出错”,然后点击确定按钮后打开w_bianhao窗口

在w_bianhao窗口的“查询”按钮的click事件中填写如下代码:
sle_2.text=""
sle_3.text=""
sle_4.text=""
sle_5.text=""
sle_6.text=""
sle_7.text=""
sle_8.text=""
sle_9.text=""
sle_10.text=""
sle_11.text=""
mle_1.text=""
select "gzinfo"."gzno",
"gzinfo"."gzname",
"gzinfo"."gzjihao",
"gzinfo"."gzjibie",
"gzinfo"."gzhouguo",
"gzinfo"."gzdate",
"gzinfo"."gzbaogao",
"gzinfo"."gzdidian",
"gzinfo"."gzmiaoshu",
"gzinfo"."gzchuli",
"gzinfo"."gzyuanyin",
"gzinfo"."gzcankao",
into :sle_1.text,
:sle_2.text,
:sle_3.text,
:sle_4.text,
:sle_5.text,
:sle_6.text,
:sle_7.text,
:sle_8.text,
:sle_9.text,
:sle_10.text,
:mle_1.text,
:sle_11.text
from "gzinfo"
where "gzinfo"."gzno"=:sle_1.text
;
if sle_2.text=""then
        messagebox("not found","没有此故障信息!")
        sle_1.text=""
end if
sle_1.setfocus()

输入故障编号后点击查询,提示“没有此故障信息!”(在gzinfo的表中事先已经存有故障信息了)

怎么回事啊? 能帮我解决一下么? 谢谢啊~! 

回复列表 (共2个回复)

沙发

"gzinfo"."gzyuanyin",
"gzinfo"."gzcankao",
into :sle_1.text,
多个逗号 
"gzinfo"."gzcankao",
into

板凳

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846
2010年,中国网民突破了4亿,
网络游戏玩家超过了3亿,
互联网即将进入全民网游的时代

我来回复

您尚未登录,请登录后再回复。点此登录或注册