sql语句中添加查询条件

/**************************************************** 函数描述: 在strsql最后一个From 后的最后一个 where后添加条件strwhere     在最后一个From后如果有where,条件加在where后;如果没有where,     在条件前加where再加条件函数参数: strsql:      原sql;           strwhere:    条件,      函数返回:  生成的带查询条件的sql

函数完成:  woods 日    期:  2006-03-30

注:如果strsql中不存在where,但是存在group by或having此函数不可用!   如果存在上述sql,可以添加一个永远成立的条件(如where 1=1),再使用此函数   生成sql *****************************************************/

string strnewsql,sql,sqlwhere,sqlsort,strAfterLastFormSql string strsql1,strsql2,strsql3 long i,j,possort,poswhere,posFrom

strsql1=strsql strsql1=upper(strsql1)

//查询最后一个From posFrom=len(strsql1)+1 for i=1 to len(strsql1)  j=pos(strsql1,'FROM',i)  if j>0 then //如果存在“from”,继续查找以后的sql   posFrom=j //纪录位置点   i=j+6  else   exit  end if next

//查询From后最后一个Where poswhere=len(strsql1)+1 for i=posFrom+6 to len(strsql1)  j=pos(strsql1,'WHERE',i)  if j>0 then //如果存在“where”,继续查找以后的sql   poswhere=j //纪录位置点   sqlwhere=mid(strsql1,j)   i=j+7  else   exit  end if next

//得到没有条件、排序的sql sql=left(strsql1,poswhere - 1)

//生成where:sql if strwhere<>'' and isnull(strwhere)=false then  if sqlwhere='' or isnull(sqlwhere)=true then   sqlwhere=" where "+strwhere  else   sqlwhere=' where ('+strwhere+') and '+right(sqlwhere,len(sqlwhere) - 5)  end if end if

strnewsql=sql+sqlwhere+sqlsort

return strnewsql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值