⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 freelable_fieldslist.asp

📁 asp源码 图片ASP整站
💻 ASP
📖 第 1 页 / 共 2 页
字号:
			}
		}
		else
		{
			if(OpStr != "In")
			{
				if(keyCode==188)
					ValObj.value = ValObj.value.replace(/\,/g,"");
			}
			if(keyCode==222)
				ValObj.value = ValObj.value.replace(/\'/g,"");
		}
	}
	ValueArray(index,OperationNum,"Set",ValObj.value);
}
//整理操作表达式,对父窗口的操作表达式进行更新
function SetExpressionToArray()
{
	var ExpArray = new Array();
	var i,j,k,OpStr,FieldStr,AltStr,ValStr,DateArray;
	for(i=0;i<FieldsNum;i++)
	{
		FieldStr = document.all(TableField+i).value;
		AltStr = document.all(TableField+i).alt;
		for(j=1;j<=3;j++)
		{
			if(	OperationArray(i,j,"Get","") != "")
			{
				OpStr =	OperationArray(i,j,"Get","");
				ValStr = ValueArray(i,j,"Get","");
				if(AltStr == "7")
				{
					DateArray = ValStr.split(",");
					for(k=0;k<DateArray.length;k++)
						if(IsValidDate(DateArray[k]) == false)
						{
							alert("字段["+document.all(TableField+i).innerText+"]"+OpStr+" "+"的日期无效");
							return;
						}
				}
				ExpArray[ExpArray.length] = CreateExpression(FieldStr,AltStr,OpStr,ValStr);
			}
		}
	}
	parent.SetExpressionToArray(ExpArray,TableName);
}
//生成操作表达式项
function CreateExpression(FieldStr,AltStr,OpStr,ValStr)
{
	var ExpressionStr = "";
	if(AltStr == "116" || AltStr == "16" )
	{
		if(ValStr == "")
			ValStr = "0";
		if(OpStr == "In")
			ExpressionStr = FieldStr+" In("+ValStr.replace(/\'/g,"")+")";
		else
			ExpressionStr = FieldStr+OpStr+ValStr;
	}
	else
	{
		if(AltStr == "7")
		{
			if(OpStr == "In")
			{
				if(IsSqlDataBase == 1)
				{
					ExpressionStr = FieldStr+" In('"+ValStr.replace(/\'/g,"").replace(/\,/g,"','")+"')";
				}
				else
				{
					ExpressionStr = FieldStr+" In(#"+ValStr.replace(/\'/g,"").replace(/\,/g,"#,#")+"#)";
				}
			}
			else
			{
				if(IsSqlDataBase == 1)
				{
					ExpressionStr = FieldStr+OpStr+"'"+ValStr+"'";
				}
				else
				{
					ExpressionStr = FieldStr+OpStr+"#"+ValStr+"#";
				}
			}
		}
		else
		{
			if(OpStr == "In")
				ExpressionStr = FieldStr+" In('"+ValStr.replace(/\'/g,"").replace(/\,/g,"','")+"')";
			else
				ExpressionStr = FieldStr+OpStr+"'"+ValStr+"'";
		}
	}
	return ExpressionStr;
}
//判断字符串是否为有效日期
function IsValidDate(DateStr)
{
	DateStr = DateStr.replace(/\-/g,",").replace(/\//g,",")
	var DeteStrArray = DateStr.split(",");
	var DayNumOfMonth = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
	if(DeteStrArray.length == 1 || DeteStrArray.length > 3) return false;
	if(DeteStrArray[0] == "" || DeteStrArray[0].length > 4) return false;
	if(DeteStrArray[1] == "" || eval(DeteStrArray[1]+"> 12") == true) return false;
	if(DeteStrArray.length == 3)
	{
		if(eval("("+DeteStrArray[0]+" % 4 == 0 && "+DeteStrArray[0]+" % 100 != 0) || "+DeteStrArray[0]+" % 400 == 0") == true)
			DayNumOfMonth[2] = 29;
		if(eval(DeteStrArray[2]+" > DayNumOfMonth["+DeteStrArray[1]+"]") == true || DeteStrArray[2] == "")
			return false;
	}
	return true;
}
//清除字符串里除指定字符外的字符
function CleanStrExcept(Str,ExceptStr)
{
	if(ExceptStr == "") return "";
	var i=0;
	while(i<Str.length)
	{
		if(ExceptStr.indexOf(Str.charAt(i)) == -1)			
			Str = Str.substr(0,i)+Str.substr(i+1);
		else
			i = i+1;
	}
	return Str;
}
//用户单击某个字段,保存前一个单击字段的操作符、操作值,更新前一个和本次单击字段的显示状态和父窗口的添加操作表达式超链接
function ClickTab(index)
{
	var i,DirectionStr,OperationStr,ValueStr,Tempstr;
	DirectionStr = "";
	OperationStr = "";
	ValueStr = "";
	Tempstr = "";
	if(SelectIndex != -1)
	{
		if(SelectIndex == index) return;
		for(i=1;i<=OpNumOfFieldArray[SelectIndex];i++)
		{
			if(OperationArray(SelectIndex,i,"Get","") != "")
			{
				if(document.all(TableField+SelectIndex).alt == "116" && document.all("Val"+i+"_"+SelectIndex).value =="")
					document.all("Val"+i+"_"+SelectIndex).value = "0";
				ValueArray(SelectIndex,i,"Set",document.all("Val"+i+"_"+SelectIndex).value);
				Tempstr = ValueArray(SelectIndex,i,"Get","");
				if(Tempstr.length > 10)
					Tempstr = Tempstr.substring(0,7)+"...";
				if(OperationStr == "")
				{
					OperationStr = OperationArray(SelectIndex,i,"Get","").replace("<","&lt;");
					ValueStr = Tempstr;
				}
				else
				{
					OperationStr = OperationStr+"<br>"+OperationArray(SelectIndex,i,"Get","").replace("<","&lt;");
					ValueStr = ValueStr+"<br>"+Tempstr;
				}
			}
		}
		if(DirectionStrArray[SelectIndex] == "Asc")
			DirectionStr = "升序";
			else
				if(DirectionStrArray[SelectIndex] == "Desc")
					DirectionStr = "降序";
			
		document.all("Direction_"+SelectIndex).innerHTML = DirectionStr;
		document.all("Operation_"+SelectIndex).innerHTML = OperationStr
		document.all("Value_"+SelectIndex).innerHTML = ValueStr;
		SetExpressionToArray();
	}
	SelectIndex = index;
	if(SelectIndex != -1)
	{
		parent.SetAddExpContainerHTML(TableName,"操作 <a href='#' onclick=AddExpression('"+TableName+"',"+index+")>+</a>");
		DirectionStr = "<select id='Dir_"+SelectIndex+"' onchange='DirectionChange("+SelectIndex+")' style='width:100%;'><option value=''><option value='Asc'>升序<option value='Desc'>降序</select>";
		DirectionStr = DirectionStr.replace("value='"+DirectionStrArray[SelectIndex]+"'","value='"+DirectionStrArray[SelectIndex]+"' selected");
		document.all("Direction_"+SelectIndex).innerHTML = DirectionStr;
		document.all("Operation_"+SelectIndex).innerHTML = CreateHMTL("Operation",SelectIndex);
		document.all("Value_"+SelectIndex).innerHTML = CreateHMTL("Value",SelectIndex);
	}
	else
		parent.SetAddExpContainerHTML(TableField,"操作");
}
//对某个字段添加操作表达式输入区域,同一字段最多能有3个操作表达式
function AddExpression(index)
{
	var OperationStr,ValueStr,i;
	if(OpNumOfFieldArray[index]<3)
	{
		OperationStr = CreateHMTL("Operation",SelectIndex);
		ValueStr = CreateHMTL("Value",SelectIndex);
		
		i = OpNumOfFieldArray[index] +1;
		OperationStr = OperationStr+"<br><select id='Op"+i+"_"+index+"' onchange='OperationChange("+i+","+index+")' style='width:100%;'><option value=''><option value='='>=<option value='<>'>&lt;&gt;<option value='>'>&gt;<option value='>='>&gt;=<option value='<'>&lt;<option value='<='>&lt;=<option value='In'>In</select>";
		ValueStr = ValueStr+"<br><input id='Val"+i+"_"+index+"' value='' onKeyUp='CheckValue("+i+","+index+")' size=8>";

		OpNumOfFieldArray[index] = i;

		document.all("Operation_"+SelectIndex).innerHTML = OperationStr;
		document.all("Value_"+SelectIndex).innerHTML = ValueStr;
	}
}
//根据名称生成某个字段的操作符选择列表或操作值输入框的HTML代码
function CreateHMTL(Name,index)
{
	var i,j,TempOprStr,TempValueStr,OperationStr,ValueStr;
	j=0;
	OperationStr ="";
	for(i=1;i<=3;i++)
	{
		if(OperationArray(index,i,"Get","") !="")
		{
			j++;			
			TempOprStr = "<select id='Op"+j+"_"+index+"' onchange='OperationChange("+j+","+index+")' style='width:100%;'><option value=''><option value='='>=<option value='<>'>&lt;&gt;<option value='>'>&gt;<option value='>='>&gt;=<option value='<'>&lt;<option value='<='>&lt;=<option value='In'>In</select>";
			TempOprStr = TempOprStr.replace("value='"+OperationArray(index,i,"Get","")+"'","value='"+OperationArray(index,i,"Get","")+"' selected")
			TempValueStr = "<input id='Val"+j+"_"+index+"' value='"+ValueArray(index,i,"Get","")+"' onKeyUp='CheckValue("+j+","+index+")' size=8>";
			if(OperationStr == "")
			{
				OperationStr = TempOprStr;
				ValueStr = TempValueStr;
			}						
			else
			{
				OperationStr = OperationStr+"<br>"+TempOprStr;
				ValueStr = ValueStr+"<br>"+TempValueStr;
			}
			continue;
		}
	}		
	if(OperationStr == "")
	{
		OperationStr = "<select id='Op"+1+"_"+index+"' onchange='OperationChange("+1+","+index+")' style='width:100%;'><option value=''><option value='='>=<option value='<>'>&lt;&gt;<option value='>'>&gt;<option value='>='>&gt;=<option value='<'>&lt;<option value='<='>&lt;=<option value='In'>In</select>";
		ValueStr = "<input id='Val"+1+"_"+index+"' value='' onKeyUp='CheckValue("+1+","+index+")' size=8>";
	}
	if(j==0)
		OpNumOfFieldArray[index] = 1;
	else
		OpNumOfFieldArray[index] = j;
		
	for(i=1;i<=3;i++)
	{
		if(OperationArray(index,i,"Get","") == "")
		{
			for(j=i+1;j<=3;j++)
				if(	OperationArray(index,j,"Get","") != "")
				{
					OperationArray(index,i,"Set",OperationArray(index,j,"Get",""))
					OperationArray(index,j,"Set","")
					ValueArray(index,i,"Set",ValueArray(index,j,"Get",""))
					ValueArray(index,j,"Set","")
				}	
		}
	}
	switch(Name)
	{
		case "Operation":
			return OperationStr;
		case "Value":
			return ValueStr;

	}
}
</script>
<%
Set Conn = Nothing

Function GetFieldType(FieldType)
	Select Case FieldType
		Case 0
			GetFieldType = "Empty"
		Case 16
			GetFieldType = "自动"
		Case 100
			GetFieldType = "文本"
		Case 116
			GetFieldType = "数字"
		Case 230
			GetFieldType = "备注"
		Case 2
			GetFieldType = "SmallInt"
		Case 3
			GetFieldType = "Integer"
		Case 20
			GetFieldType = "BigInt"
		Case 17
			GetFieldType = "UnsignedTinyInt"
		Case 18
			GetFieldType = "UnsignedSmallInt"
		Case 19
			GetFieldType = "UnsignedInt"
		Case 21
			GetFieldType = "UnsignedBigInt"
		Case 4
			GetFieldType = "Single"
		Case 5
			GetFieldType = "Double"
		Case 6
			GetFieldType = "Currency"
		Case 14
			GetFieldType = "Decimal"
		Case 131
			GetFieldType = "Numeric"
		Case 11
			GetFieldType = "Boolean"
		Case 10
			GetFieldType = "Error"
		Case 132
			GetFieldType = "UserDefined"
		Case 12
			GetFieldType = "Variant"
		Case 9
			GetFieldType = "IDispatch"
		Case 13
			GetFieldType = "IUnknown"
		Case 72
			GetFieldType = "GUID"
		Case 7
			GetFieldType = "日期"
		Case 133
			GetFieldType = "DBDate"
		Case 134
			GetFieldType = "DBTime"
		Case 135
			GetFieldType = "DBTimeStamp"
		Case 8
			GetFieldType = "BSTR"
		Case 129
			GetFieldType = "Char"
		Case 200
			GetFieldType = "VarChar"
		Case 201
			GetFieldType = "LongVarChar"
		Case 130
			GetFieldType = "WChar"
		Case 202
			GetFieldType = "VarWChar"
		Case 203
			GetFieldType = "LongVarWChar"
		Case 128
			GetFieldType = "Binary"
		Case 204
			GetFieldType = "VarBinary"
		Case 205
			GetFieldType = "LongVarBinary"
		Case 136
			GetFieldType = "Chapter"
		Case 64
			GetFieldType = "FileTime"
		Case 138
			GetFieldType = "PropVariant"
		Case 139
			GetFieldType = "VarNumeric"
		Case &H2000
			GetFieldType = "Array"
	End Select
End Function
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -