账号通
    

账号  

密码  

2779

查看

4

回复
主题:SQL标签条件判断的修改和增加SQL标签对ASP语法的支持 [收藏主题] 转到:  
bbswing 当前离线

214

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:1979 分
登录次数:104 次
注册时间:2008/4/23
最后登录:2014/10/23
bbswing 发表于:2008/9/20 11:02:00   | 只看该作者 查看该作者主题 楼主 
做在线知识付费 选科汛云开店

系统对SQL标签支持条件判断,非常方便,但是{$IF()}中,"IF"必须是大写,虽然有"regEx.IgnoreCase = True"但还是必须使用大写"IF"才有效,不信大家可以试试


 


修改方法:


KS_Cls/Kesion.Label.SQLCls.asp


找到


FieldParam    = Replace(Replace(Match.Value,"{$IF(",""),")}","")


修改为


FieldParam    = Replace(Replace(Match.Value,"{$IF(","",1,-1,1),")}","")


 


 


TempStr=Replace(TempStr,"{$IF(" &FieldParam &")}",ReturnFieldValue)


改为


TempStr=Replace(TempStr,"{$IF(" &FieldParam &")}",ReturnFieldValue,1,-1,1)


 


 


 


增加SQL标签对简单ASP代码的支持:


1、在Conn.asp中增加两个常量


 


Const ShowASPEvalError=1    '用{$ASP()}解析ASP语法时是否显示错误信息
Const EvalASPErrorPrev="解析ASP:"  '用{$ASP()}解析ASP语法错误时显示错误信息的前缀


 


2、在KS_Cls/Kesion.Label.SQLCls.asp中增加一个函数:


Function ReplaceASP(byval str)
Dim regEx, Matches, Match, TempStr
Dim FieldParam,ReturnFieldValue,I
on error resume next
Set regEx = New RegExp
regEx.Pattern = "{\$ASP\([^{\$}]*\)}"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(str)
TempStr=str
For Each Match In Matches
FieldParam= Replace(Replace(Match.Value,"{$ASP(","",1,-1,1),")}","")
ReturnFieldValue=eval(FieldParam)
if err.number<>0 and ShowASPEvalError=1 then
ReturnFieldValue=EvalASPErrorPrev&Err.Description
end if
TempStr=Replace(TempStr,"{$ASP(" &FieldParam &")}",ReturnFieldValue,1,-1,1)
Next
ReplaceASP=TempStr
End Function


 


 


找到


CleanLabel=ReplaceCondition(Replace(Content,"$KS:Page$",vbcrlf))


改为


CleanLabel=ReplaceASP(ReplaceCondition(Replace(Content,"$KS:Page$",vbcrlf)))


 


 


这样,就可以在SQL标签中这样使用:


[loop=10]
{$if(len("{$Field(FolderName,Text,0,...,0,)}")>0 and {$Field(TJ,Num,0,2)}>1||"哈哈"||"呵呵")}<br/>
{$asp(DatePart("yyyy",Now()))}
[/loop]


 


效果如下:


 



此主题相关图片如下:001.jpg
001.jpg


 


 


{$asp()}只支持变量值或带返回内容的函数或过程,如:now()、Date()、Request.Form、Request.QueryString、Request.ServerVariables等

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
一生有你 当前离线

10439

主题

0

广播

18

粉丝
添加关注
级别:版主

用户积分:72521 分
登录次数:1969 次
注册时间:2006/7/1
最后登录:2021/8/25
一生有你 发表于:2008/9/20 17:54:00   | 只看该作者 查看该作者主题 沙发 
试了一下,一次只能运行一条语句.
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
ks1w 当前离线

2796

主题

4

广播

1

粉丝
添加关注
级别:大一

用户积分:14338 分
登录次数:665 次
注册时间:2006/11/3
最后登录:2019/7/26
ks1w 发表于:2008/9/20 15:44:00   | 只看该作者 查看该作者主题 藤椅 

暂时用不着.先做记号了

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
飞飞 当前离线

21

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:332 分
登录次数:3 次
注册时间:2008/8/22
最后登录:2008/9/20
飞飞 发表于:2008/9/20 15:00:00   | 只看该作者 查看该作者主题 板凳 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wocao 当前离线

22

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:322 分
登录次数:5 次
注册时间:2008/9/17
最后登录:2008/11/26
wocao 发表于:2008/9/20 14:54:00   | 只看该作者 查看该作者主题 报纸 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
mz520 当前离线

628

主题

6

广播

2

粉丝
添加关注
级别:六年级

用户积分:3600 分
登录次数:170 次
注册时间:2008/8/23
最后登录:2014/8/5
mz520 发表于:2008/9/20 11:25:00   | 只看该作者 查看该作者主题 地板 
 
  支持(1) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.12500秒 powered by KesionCMS 9.0