当前位置: 代码迷 >> PB >> 循环查询语句?该怎么处理
  详细解决方案

循环查询语句?该怎么处理

热度:54   发布时间:2016-04-29 06:10:50.0
循环查询语句?
//专线名称
string ls_zxmc,ls_dzid
int is_zxid,is_dzid,i

ls_zxmc = ddlb_1.text

select id into :is_zxid from bm_zxxx where FName=:ls_zxmc;
select FDz_id into :ls_dzid from bm_zxxxmx where FZx_id=:is_zxid;
is_dzid = integer(ls_dzid)
for i=1 to is_dzid
ls_sql = " and jydxx.sdzbm = "+ls_dzid+" "
ls_sql_find = ls_sql_find + ls_sql
next

页面中有个ddlb_1   是专线名称  
通过select id into :is_zxid from bm_zxxx where FName=:ls_zxmc;
 查出专线名称的id  
然后通过此id去查询专线明细表中的到站id(到站id有多个)
select FDz_id into :ls_dzid from bm_zxxxmx where FZx_id=:is_zxid;
想把此专线名称下的所有到站都查询出来
以上代码怎么不行??望赐教
------解决方案--------------------
do while sqlca.sqlcode =0
    if ls_sql2='' then
        ls_sql2= "  and  ( jydxx.sdzbm="+ls_dzid+"  "
   else 
        ls_sql2 = ls_sql2 + " or jydxx.sdzbm="+ls_dzid+" "
    end if    
    
    fetch emp_cx into :ls_dzid;
loop
ls_sql_find = ls_sql + ls_sql2 +")"
 
MessageBox("SQL语句[ls_sql_find]",ls_sql_find) //这里通过对话框检查一下SQL语句
  相关解决方案