PB连接数据库出了个语法错误,谁帮忙看看

//数据库连接SQLCA.DBMS="MSSMicrosoftSQLServer"SQLCA.Database="Pb_Data"SQLCA.LogPass="cwpas... //数据库连接
SQLCA.DBMS = "MSS Microsoft SQL Server"
SQLCA.Database = "Pb_Data"
SQLCA.LogPass = "cwpass12!"
SQLCA.ServerName = "wangxu"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
connect;
//定义变量
string vname,vpass
vname=sle_1.text
vpass=sle_2.text
if sle_1.text="" or sle_2.text="" then
messagebox("提示","输入信息不合法",information!,ok!,2)
else

select "BM_users"."userName","BM_users"."userPass","BM_users"."userType"
into :vusername,:vuserpass,:vusertype
from BM_users
where("BM_users"."userName"=:vname)and("BM_users"."userPass"=:vpass);
if sqlca.sqlcode=0 then
messagebox("提示","登录成功")
else
messagebox("提示","输入数据错误")
end if
end if
//这是在登录按钮中的代码,vusername,vuserpass,vusertype是定义的全局变量,调试提示“在userName附近有语法错误”
展开
 我来答
wy_1900
2013-08-27 · TA获得超过4503个赞
知道大有可为答主
回答量:4260
采纳率:63%
帮助的人:3502万
展开全部
首先sql语句语法有点问题,where子句和and之间应该有空格,不然识别出问题
其次程序的健壮性不高,拦截空值还需要isnull()判断,不然null值拦截不到
还有验证输入有效性,应该select count(*) into :li_count from bn_users where userName=:vname and userPass =:vpass;
检验是否能够得到有效数据,而不能直接取数
百度网友d4b9174
2013-08-27 · TA获得超过1215个赞
知道小有建树答主
回答量:742
采纳率:57%
帮助的人:177万
展开全部
  1. 需要在connect语句后通过sqlca.sqlcode的值判断数据库是否连接成功;

  2. 把你的SQL语句放到pb中database查询里执行看看能否成功?

    如果这上面两个遇到的问题都解决了,应该就成功了。

追问
连接成功,感觉是SQL语句的问题,
追答
如果带引号的话,那么引号内所有的表名和字段名都要与数据库中的完全一致,包括大小写也要完全相同,就不会有问题了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式