📄 freelable_edit.asp
字号:
}
Url = "FreeLable_SetSequence.asp?SqlStr="+QueryNum+"*"+OrderStr+"*"+FieldsStr+"*"+FieldsCNameStr;
var ReturnValue = OpenWindow(Url,400,300,window);
if(ReturnValue == "") return;
OrderSearchArray = null;
TableFieldArray = null;
TableFieldsCNameArray = null;
TempArray = ReturnValue.split("*");
QueryNum = TempArray[0];
OrderSearchArray = TempArray[1].split(",");
TableFieldArray = TempArray[2].split(",");
TableFieldsCNameArray = TempArray[3].split(",");
ShowSql();
}
//判断有无字段被选择,是否能进入一步
function CanNextToStyle()
{
var i,flag;
flag = false;
for(i=0;i<TableFieldArray.length;i++)
if(TableFieldArray[i] != "")
{
flag = true;
break;
}
return flag;
}
//在选中字段、操作表达式、排序数组中检索字符串
function SearchStrInSql(Flag,Str)
{
var ReturnVal=-1,i=0;
switch (Flag)
{
case 0: //字段
for (i=0;i<TableFieldArray.length;i++)
{
if (TableFieldArray[i].indexOf(Str) != -1)
{
ReturnVal=i;
break;
}
}
break;
case 1: //表达式
for (i=0;i<ExpressionArray.length;i++)
{
if (ExpressionArray[i].indexOf(Str) != -1)
{
ReturnVal=i;
break;
}
}
break;
case 2: //排次
for (i=0;i<OrderSearchArray.length;i++)
{
if (OrderSearchArray[i].indexOf(Str) != -1)
{
ReturnVal=i;
break;
}
}
break;
default : //其他,备注
break;
}
return ReturnVal;
}
//添加选中字段及其中文名称到对应数组
function AddField(FieldStr,FieldCNameStr)
{
var ArrayIndex,i;
ArrayIndex = -1;
ArrayIndex = SearchStrInSql(0,FieldStr)
if(ArrayIndex != -1) return;
for (var i=0;i<TableFieldArray.length;i++)
{
if (TableFieldArray[i]=='') ArrayIndex=i;
break;
}
if (ArrayIndex==-1)
{
i = TableFieldArray.length;
TableFieldArray[i]=FieldStr;
TableFieldsCNameArray[i]=FieldCNameStr;
}
else
{
TableFieldArray[ArrayIndex]=FieldStr;
TableFieldsCNameArray[ArrayIndex]=FieldCNameStr;
}
ShowSql();
}
//删除选中字段
function RemoveField(fields)
{
var ArrayIndex=-1;
ArrayIndex=SearchStrInSql(0,fields);
if (ArrayIndex>=0) TableFieldArray[ArrayIndex]='';
ShowSql();
}
//从各个数组中提取数据生成SQL语句并显示
function ShowSql()
{
var OrderStr="";
var SqlPreviewObj=document.FreeLableForm.SqlPreview;
var FieldSql='',i=0,SearchSql='',Sql,TableStr='',TableFlag=0;TempArray='';
for (i=0;i<TableFieldArray.length;i++)
{
TempArray=TableFieldArray[i].split('.');
if (TempArray.length>=2)
{
if (TableFlag!==3)
{
switch (TableFlag)
{
case 0:
if (TempArray[0]=='FS_News') TableFlag=1;
if (TempArray[0]=='FS_NewsClass') TableFlag=2;
if (TempArray[0]=='FS_Download') TableFlag=4;
break;
case 1:
if (TempArray[0]=='FS_NewsClass') TableFlag=3;
break;
case 2:
if (TempArray[0]=='FS_News') TableFlag=3;
if (TempArray[0]=='FS_Download') TableFlag=5;
break;
case 4:
if (TempArray[0]=='FS_NewsClass') TableFlag=5;
break;
}
}
}
}
for (i=0;i<TableFieldArray.length;i++)
{
if(TableFieldArray[i] != "")
if (FieldSql=='') FieldSql=TableFieldArray[i];
else FieldSql=FieldSql+','+TableFieldArray[i];
}
for (i=0;i<ExpressionArray.length && TableFlag != 0;i++)
{
if(ExpressionArray[i] != "")
{
switch(TableFlag)
{
case 1:
{
if(ExpressionArray[i].indexOf("FS_News.") == -1)
continue;
else
break;
}
case 2:
{
if(ExpressionArray[i].indexOf("FS_NewsClass.") == -1)
continue;
else
break;
}
case 3:
{
if(ExpressionArray[i].indexOf("FS_NewsClass.") == -1 && ExpressionArray[i].indexOf("FS_News.") == -1)
continue;
else
break;
}
case 4:
{
if(ExpressionArray[i].indexOf("FS_Download.") == -1)
continue;
else
break;
}
case 5:
{
if(ExpressionArray[i].indexOf("FS_NewsClass.") == -1 && ExpressionArray[i].indexOf("FS_Download.") == -1)
continue;
else
break;
}
}
if (SearchSql=='') SearchSql=ExpressionArray[i];
else SearchSql=SearchSql+' and '+ExpressionArray[i];
}
}
switch (TableFlag)
{
case 0:
TableStr='';
break;
case 1:
TableStr='FS_News';
break;
case 2:
TableStr='FS_NewsClass';
break;
case 3:
TableStr='FS_News,FS_NewsClass';
if(SearchSql != "")
SearchSql = SearchSql +" and FS_News.ClassID = FS_NewsClass.ClassID";
else
SearchSql = "FS_News.ClassID = FS_NewsClass.ClassID";
break;
case 4:
TableStr='FS_Download';
break;
case 5:
TableStr='FS_Download,FS_NewsClass';
if(SearchSql != "")
SearchSql = SearchSql +" and FS_Download.ClassID = FS_NewsClass.ClassID";
else
SearchSql = "FS_Download.ClassID = FS_NewsClass.ClassID";
break;
break;
default :
TableStr='';
break;
}
for (i=0;i<OrderSearchArray.length && TableFlag != 0;i++)
{
if(OrderSearchArray[i] != "")
{
switch(TableFlag)
{
case 1:
{
if(OrderSearchArray[i].indexOf("FS_News.") == -1)
continue;
else
break;
}
case 2:
{
if(OrderSearchArray[i].indexOf("FS_NewsClass.") == -1)
continue;
else
break;
}
case 4:
{
if(OrderSearchArray[i].indexOf("FS_Download.") == -1)
continue;
else
break;
}
}
if (OrderStr=='') OrderStr=OrderSearchArray[i];
else OrderStr=OrderStr+','+OrderSearchArray[i];
}
}
if(IsNumeric(QueryNum) && TableFlag!=0) FieldSql = "Top "+QueryNum+" "+FieldSql;
if (FieldSql=='') Sql='Select';
else Sql='Select '+FieldSql+' from '+TableStr;
if (SearchSql!='')
Sql=Sql+' where '+SearchSql;
if(OrderStr != "")
Sql=Sql+' Order by '+OrderStr;
switch(TableFlag)
{
case 1:
Sql = Sql.replace(/FS_News\./g,"");
break;
case 2:
Sql = Sql.replace(/FS_NewsClass\./g,"");
break;
}
SqlPreviewObj.value=Sql;
}
//判断字符串是否为正整数
function IsNumeric(Str)
{
var i,NumericStr="0123456789";
if(Str.substr(0,1) == "0" || Str=="") return false;
for(i=0;i<Str.length;i++)
if(NumericStr.indexOf(Str.substr(i,1)) == -1)
return false;
return true;
}
</script>
<%
If Action = "Submit" Then
'新建或更新自由标签到数据库
IFreeLableID = Replace(Request("FreeLableID"),"'","")
ISql = Replace(Request("SqlPreview"),"'","*|*")
IName = Replace(Request("Name"),"'","")
IFieldsCName = Replace(Request("FieldsCName"),"'","")
IStyleContent = Replace(Request("StyleContent"),"'","*|*")
IStartFlag = Replace(Request("StartFlag"),"'","")
IEndFlag = Replace(Request("EndFlag"),"'","")
IDescription = Replace(Request("Description"),"'","")
If ISql = "" Then
Response.Write("<script>alert('Sql语句为空')</script>")
Response.End
Elseif InStr(LCase(ISql),"select") = 0 Or InStr(LCase(ISql),"insert") <> 0 Or InStr(LCase(ISql),"update") <> 0 Or InStr(LCase(ISql),"drop") <> 0 Then
Response.Write("<script>alert('Sql语句包含非法操作')</script>")
Response.End
End if
If IName = "" Then
Response.Write("<script>alert('标签名称为空')</script>")
Response.End
End if
If IFieldsCName = "" Then
Response.Write("<script>alert('没有选择字段')</script>")
Response.End
End if
If IStyleContent = "" Then
Response.Write("<script>alert('没有自由标签样式代码')</script>")
Response.End
End if
If IStartFlag = "" Then
Response.Write("<script>alert('标签开始标志为空')</script>")
Response.End
End if
If IEndFlag = "" Then
Response.Write("<script>alert('标签结束标志为空')</script>")
Response.End
End if
If IFreeLableID <> "" Then
SqlStr = "select * from FS_freelable where FreeLableID = '"&IFreeLableID&"'"
Set Rs = Server.CreateObject(G_FS_RS)
Rs.open SqlStr,conn,3,3
If Rs.eof Then
Response.Write("<script>alert('无效的自由标签编号')</script>")
Response.End
Else
Rs("Sql") = ISql
Rs("Name") = IName
Rs("FieldsCName") = IFieldsCName
Rs("StyleContent") = IStyleContent
Rs("StartFlag") = IStartFlag
Rs("EndFlag") = IEndFlag
Rs("Description") = IDescription
Rs.Update
Rs.Close
Set Rs = nothing
End if
Response.Write("<script> location = 'Templet_FreeLable.asp';</script>")
Else
SqlStr = "select name from FS_freelable where name='"&IName&"'"
Set Rs = conn.Execute(SqlStr)
if not Rs.eof Then
Response.Write("<script>alert('标签名称已经存在')</script>")
Response.End
End if
SqlStr = "select * from FS_freelable where 1=0"
Set Rs = Server.CreateObject(G_FS_RS)
Rs.open SqlStr,conn,3,3
IFreeLableID = GetRandomID18()
Rs.Addnew
Rs("FreeLableID") = IFreeLableID
Rs("Sql") = ISql
Rs("Name") = IName
Rs("FieldsCName") = IFieldsCName
Rs("StyleContent") = IStyleContent
Rs("StartFlag") = IStartFlag
Rs("EndFlag") = IEndFlag
Rs("Description") = IDescription
Rs("AddTime") = now
Rs.Update
Rs.Close
Set Rs = nothing
Response.Write("<script>if(confirm(""自由标签添加成功,是否继续添加?"")==false) location = 'Templet_FreeLable.asp'; else {window.location='?';} </script>")
End if
End if
Set Conn = Nothing
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -