提示语法错误出现在全部的代码行之外,请各位帮忙看看这到底是怎么回事情!
提示语法错误出现在全部的代码行之外,请各位帮忙看看这到底是怎么回事情!
楼主pobosskey(有房有车(租的房+自行车))2002-03-13 12:22:56 在 PowerBuilder / 非技术版 提问 在一个查询功能的语句是这么写的, 但是编译的时候却说有语法错误出现在所有的代码行之外!但是代码都没有那么多行,请教大家知道这是怎么回事情吗?
//定义参数:查询条件综合结果
string lookforcondition
//定义参数:要查询的列
string lookforItem1,lookforItem2,lookforItem3
//定义参数:查询的符号
string lookforHow1,lookforHow2,lookforHow3
//定义参数:要查询的内容
string lookforWhat1,lookforwhat2,lookforwhat3
//定义参数:不同查询条件组合操作符号
string lookforoperator1,lookforoperator2
//查询符号的选择
lookforHow1=ddlb_4.text
lookforHow2=ddlb_5.text
lookforHow3=ddlb_6.text
//操作符号1的选择
if ddlb_7.text="与" then
lookforoperator1="and"
elseif ddlb_7.text=" 或" then
lookforoperator1="or"
elseif ddlb_7.text=" 非" then
lookforoperator1="not"
end if
//操作符号2的选择
if ddlb_8.text="与" then
lookforoperator2="and"
elseif ddlb_8.text=" 或" then
lookforoperator2="or"
elseif ddlb_8.text=" 非" then
lookforoperator2="not"
end if
//查询子段1和查询内容1的选择
if ddlb_1.text="员工号" then
lookforitem1="emp_no"
lookforwhat1=sle_1.text
elseif ddlb_1.text="姓名" then
lookforitem1="emp_name"
lookforwhat1=""+sle_1.text+""
elseif ddlb_1.text="部门号" then
lookforitem1="dept_id"
lookforwhat1=sle_1.text
elseif ddlb_1.text="性别" then
lookforitem1="emp_genger"
lookforwhat1=""+sle_1.text+""
elseif ddlb_1.text="出生日期" then
lookforitem1="emp_birthday"
lookforwhat1=sle_1.text
elseif ddlb_1.text="籍贯" then
lookforitem1="emp_hometown"
lookforwhat1=""+sle_1.text+""
elseif ddlb_1.text="国籍" then
lookforitem1="emp_conntry"
lookforwhat1=""+sle_1.text+""
elseif ddlb_1.text="民族" then
lookforitem1="emp_nation"
lookforwhat1=""+sle_1.text+""
elseif ddlb_1.text="身份证号" then
lookforitem1="emp_id"
lookforwhat1=sle_1.text
elseif ddlb_1.text="婚姻状况" then
lookforitem1="emp_marriage"
lookforwhat1=""+sle_1.text+""
elseif ddlb_1.text="健康状况" then
lookforitem1="emp_health"
lookforwhat1=""+sle_1.text+""
elseif ddlb_1.text="政治面貌" then
lookforitem1="emp_zzmm"
lookforwhat1=""+sle_1.text+""
elseif ddlb_1.text="家庭地址" then
lookforitem1="emp_homedress"
lookforwhat1=""+sle_1.text+""
elseif ddlb_1.text="联系电话" then
lookforitem1="emp_teleno"
lookforwhat1=sle_1.text
elseif ddlb_1.text="职务代号" then
lookforitem1="job_id"
lookforwhat1=""+sle_1.text+""
end if
//查询子段2和查询内容2的选择
if ddlb_2.text="员工号" then
lookforitem2="emp_no"
lookforwhat2=sle_2.text
elseif ddlb_2.text="姓名" then
lookforitem2="emp_name"
lookforwhat2=""+sle_2.text+""
elseif ddlb_2.text="部门号" then
lookforitem2="dept_id"
lookforwhat2=sle_2.text
elseif ddlb_2.text="性别" then
lookforitem2="emp_genger"
lookforwhat2=""+sle_2.text+""
elseif ddlb_2.text="出生日期" then
lookforitem2="emp_birthday"
lookforwhat2=sle_2.text
elseif ddlb_2.text="籍贯" then
lookforitem2="emp_hometown"
lookforwhat2=""+sle_2.text+""
elseif ddlb_2.text="国籍" then
lookforitem2="emp_conntry"
lookforwhat2=""+sle_2.text+""
elseif ddlb_2.text="民族" then
lookforitem2="emp_nation"
lookforwhat2=""+sle_2.text+""
elseif ddlb_2.text="身份证号" then
lookforitem2="emp_id"
lookforwhat2=sle_2.text
elseif ddlb_2.text="婚姻状况" then
lookforitem2="emp_marriage"
lookforwhat2=""+sle_2.text+""
elseif ddlb_2.text="健康状况" then
lookforitem2="emp_health"
lookforwhat2=""+sle_2.text+""
elseif ddlb_2.text="政治面貌" then
lookforitem2="emp_zzmm"
lookforwhat2=""+sle_2.text+""
elseif ddlb_2.text="家庭地址" then
lookforitem2="emp_homedress"
lookforwhat2=""+sle_2.text+""
elseif ddlb_2.text="联系电话" then
lookforitem2="emp_teleno"
lookforwhat2=sle_2.text
elseif ddlb_2.text="职务代号" then
lookforitem2="job_id"
lookforwhat2=""+sle_2.text+""
end if
//查询子段3和查询内容3的选择
if ddlb_3.text="员工号" then
lookforitem3="emp_no"
lookforwhat3=sle_3.text
elseif ddlb_3.text="姓名" then
lookforitem3="emp_name"
lookforwhat3=""+sle_3.text+""
elseif ddlb_3.text="部门号" then
lookforitem3="dept_id"
lookforwhat3=sle_3.text
elseif ddlb_3.text="性别" then
lookforitem3="emp_genger"
lookforwhat3=""+sle_3.text+""
elseif ddlb_3.text="出生日期" then
lookforitem3="emp_birthday"
lookforwhat3=sle_3.text
elseif ddlb_3.text="籍贯" then
lookforitem3="emp_hometown"
lookforwhat3=""+sle_3.text+""
elseif ddlb_3.text="国籍" then
lookforitem3="emp_conntry"
lookforwhat3=""+sle_3.text+""
elseif ddlb_3.text="民族" then
lookforitem3="emp_nation"
lookforwhat3=""+sle_3.text+""
elseif ddlb_3.text="身份证号" then
lookforitem3="emp_id"
lookforwhat3=sle_3.text
elseif ddlb_3.text="婚姻状况" then
lookforitem3="emp_marriage"
lookforwhat3=""+sle_3.text+""
elseif ddlb_3.text="健康状况" then
lookforitem3="emp_health"
lookforwhat3=""+sle_3.text+""
elseif ddlb_3.text="政治面貌" then
lookforitem3="emp_zzmm"
lookforwhat3=""+sle_3.text+""
elseif ddlb_3.text="家庭住址" then
lookforitem3="emp_homedress"
lookforwhat3=""+sle_3.text+""
elseif ddlb_3.text="联系电话" then
lookforitem3="emp_teleno"
lookforwhat3=sle_3.text
elseif ddlb_3.text="职务代号" then
lookforitem3="job_id"
lookforwhat3=""+sle_3.text+""
end if
//查询条件的综合
if ddlb_1.text=""or ddlb_4.text="" then
//用户没有输入一个查询条件
elseif ddlb_2.text="" or ddlb_5.text="" then
//用户输入一个查询条件
lookforcondition=lookforitem1+lookforhow1+""+lookforwhat1+""
elseif ddlb_3.text="" or ddlb_6.text="" then
//用户输入两个查询条件
lookforcondition=lookforitem1+lookforhow1+""+lookforwhat1+""+lookforoperator1+""+lookforitem2+lookforhow2+""+lookforwhat2+""
else
//用户输入三个查询条件
lookforcondition=lookforitem1+lookforhow1+""+lookforwhat1+""+lookforoperator1+""+lookforitem2+lookforhow2+""+lookforwhat2+""+lookforoperator2+" "+lookforitem3+lookforhow3+lookforwhat3+""
//设置过滤器
dw_lookfor_basic.setfilter(lookforcondition)
//过滤数据窗口
filter(dw_lookfor_basic)
//取得符合条件的记录
dw_lookfor_basic.retrieve() 问题点数:0、回复次数:9Top
1 楼zhanwei(@_@,初学.Net)回复于 2002-03-13 12:28:21 得分 0
不同条件之间加上括号再试一试!Top
2 楼zhanwei(@_@,初学.Net)回复于 2002-03-13 12:29:04 得分 0
如 (...)and((... ) or (... ))Top
3 楼liuyxit(苦涩的咖啡)回复于 2002-03-13 12:52:42 得分 0
请检查"//查询条件的综合"后的查询条件,
注意在lookforoperator1的前后加带空格的" "。
同时可加入语句:
messagebox("SQL语句",string(lookforcondition))
来检查询组成的sql语句的正确性。
上述错误可能是你生成的sql语句有错,此时好象是在编译才会显示!
Top
4 楼fangss()回复于 2002-03-13 13:01:03 得分 0
可能是if else某处写错了,眼睛都看花了!
如果不是的话,是不是数据库没连接上?
或是你修改一下代码重新保存一下也许就好了呢,pb总这样Top
5 楼Whyin(决战java)回复于 2002-03-13 13:06:53 得分 0
应该是:
if then
else
end if
的问题,缺少end if,所以,你要先写清楚,然后检查Top
6 楼gungod2000(work,work and work)回复于 2002-03-13 13:14:05 得分 0
少一个END IFTop
7 楼sorrow_arrow(想你一分,就恨你一分)回复于 2002-03-13 14:15:56 得分 0
还有呀,有些地方你不要用IF语句,CHOOSE CASE 语句不是很好嘛!刚好符合你的条件。Top
8 楼programbcb(datawindow)回复于 2002-03-14 00:30:02 得分 0
哇,你太累了,你不如用数据窗口的DDLB风格吧,取一个显示值,实际得到是另一个值就行了,根本不用这么多程序的,而且如果增加了一个列,你还要改程序,烦!Top
9 楼honesthou(沙鸥)回复于 2002-03-14 10:30:57 得分 0
最后那个条件判断的end if到哪里去了?Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn
