提示语法错误出现在全部的代码行之外,请各位帮忙看看这到底是怎么回事情!

pobosskey 2002-03-13 12:22:56
在一个查询功能的语句是这么写的, 但是编译的时候却说有语法错误出现在所有的代码行之外!但是代码都没有那么多行,请教大家知道这是怎么回事情吗?
//定义参数:查询条件综合结果
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()
...全文
130 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
programbcb 2002-03-14
  • 打赏
  • 举报
回复
哇,你太累了,你不如用数据窗口的DDLB风格吧,取一个显示值,实际得到是另一个值就行了,根本不用这么多程序的,而且如果增加了一个列,你还要改程序,烦!
honesthou 2002-03-14
  • 打赏
  • 举报
回复
最后那个条件判断的end if到哪里去了?
liuyxit 2002-03-13
  • 打赏
  • 举报
回复
请检查"//查询条件的综合"后的查询条件,
注意在lookforoperator1的前后加带空格的" "。
同时可加入语句:
messagebox('SQL语句',string(lookforcondition))
来检查询组成的sql语句的正确性。

上述错误可能是你生成的sql语句有错,此时好象是在编译才会显示!
zhanwei 2002-03-13
  • 打赏
  • 举报
回复
如 (...)and((... ) or (... ))
zhanwei 2002-03-13
  • 打赏
  • 举报
回复
不同条件之间加上括号再试一试!
sorrow_arrow 2002-03-13
  • 打赏
  • 举报
回复
还有呀,有些地方你不要用IF语句,CHOOSE CASE 语句不是很好嘛!刚好符合你的条件。
gungod2000 2002-03-13
  • 打赏
  • 举报
回复
少一个END IF
Whyin 2002-03-13
  • 打赏
  • 举报
回复
应该是:
if then
else
end if

的问题,缺少end if,所以,你要先写清楚,然后检查
fangss 2002-03-13
  • 打赏
  • 举报
回复
可能是if else某处写错了,眼睛都看花了!
如果不是的话,是不是数据库没连接上?
或是你修改一下代码重新保存一下也许就好了呢,pb总这样

397

社区成员

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

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