www.gusucode.com > CC校友录贴吧 CCBar源码程序asp编程 > inc/inc_make_form.asp

    <%
'===================================================================
'= ASP FILENAME	: /admin/admin_func.asp
'= CREATED TIME : SEP,16,2003
'= LAST MODIFIED: SEP,16,2003
'= VERSION INFO : CCASP Framework Ver 2.0.1 ALL RIGHTS RESERVED BY www.cclinux.com
'= DESCRIPTION  : 管理区通用函数库
'= Change Log:
'===================================================================
'================== FUNCTION BODY BEGIN ============================
'===================================================================
'= Sub		    : FormMake(strFormName)
'= Time		    : Created At Nov,08,2003
'= Input        : intAddFlag : the add value type flag
'=							0 -- null
'=							1 -- input string
'=							2 -- db recordeset
'=							3 -- default
'=				  strForName : the form trans name
'=				  strAddValue: the add value of item
'=		          objAddRS   : the add recordset of item
'= Output       : None
'= Called by    : 
'= Calls        : None
'= Table        : 
'= Description  : Set the web config  parameters
'= Modify       :
'=               Time    Description
'===================================================================
Sub MakeNowForm(strFormName,strAddValue,objAddRS,intAddFlag)

	Const CONST_DIVIDER = "|"
	Dim clsForm
	Dim arrTmp						'== To divider the form addinfo

	clsPubDB.Clear()
	clsPubDB.TableName = "CLASS_FORM_FMT"
	clsPubDB.SQLType = "SELECT"
	clsPubDB.AddField "*",""
	clsPubDB.Where = "FORM_FMT_TRANS='" & strFormName & "' "
	clsPubDB.Order = "FORM_FMT_ITEM_ORDER ASC"
	clsPubDB.SQLRSExecute()
	Call ResultExecute(clsPubDB.intErrNum,"Get form fmt ","ES_ERR")

	If clsPubDB.intRSNum = 0 Then
		Call ResultExecute(19,"Form:" & strFormName,"ES_ERR")
	End If


	Set clsForm = New classForm
	'== Set form parameters
	clsForm.Action = GBL_strHomeURL & clsPubDB.objPubRS("FORM_FMT_ACT_FILE") & "?action="& clsPubDB.objPubRS("FORM_FMT_ACT_TRANS")
	clsForm.Id = "frm" & clsPubDB.objPubRS("FORM_FMT_NAME")
	clsForm.Name = "frm" & clsPubDB.objPubRS("FORM_FMT_FORMID")
	clsForm.OnSubmit = "return Check" &  Trim(clsPubDB.objPubRS("FORM_FMT_NAME")) & "() "
	clsForm.ColumnScale = "30%"
		
	clsForm.MakeForm()
	clsForm.MakeTable "0","3","1","center","98%",GBL_cssFormTable

	clsForm.AddTr GBL_cssFormTitleTr
	clsForm.AddTitle clsPubDB.objPubRS("FORM_FMT_TITLE"),GBL_cssFormTitleTd

	While Not clsPubDB.objPubRS.Eof
		
		'== Get this item's default value
		If intAddFlag = 2 And clsPubDB.objPubRS("FORM_FMT_ITEM_DBFIELD") <>"" Then
			strTmp = clsPubDB.objPubRS("FORM_FMT_ITEM_DBFIELD")
			strAddValue = objAddRS(strTmp)
		ElseIf intAddFlag = 1 And clsPubDB.objPubRS("FORM_FMT_ITEM_VALUE_VAR") <> "" Then
			strAddValue = GetConfig(strAddValue,clsPubDB.objPubRS("FORM_FMT_ITEM_VALUE_VAR"))
		ElseIf intAddFlag = 3 And clsPubDB.objPubRS("FORM_FMT_ITEM_DEFAULT") <> "" Then
			strAddValue = clsPubDB.objPubRS("FORM_FMT_ITEM_DEFAULT")
		Else
			strAddValue = ""
		End If

		Select Case clsPubDB.objPubRS("FORM_FMT_ITEM_TYPE")
			Case	"FORM_TEXT"	:
					clsForm.AddTr GBL_cssFormTr
					clsForm.AddTd clsPubDB.objPubRS("FORM_FMT_ITEM_DESC"),GBL_cssFormTdOne,GBL_cssFormTdTwo
					arrTmp = Split(clsPubDB.objPubRS("FORM_FMT_ITEM_FMT"),CONST_DIVIDER)
					clsForm.AddText clsPubDB.objPubRS("FORM_FMT_ITEM_NAME"),arrTmp(0),arrTmp(1)
					clsForm.AddValue strAddValue

			Case	"FORM_SELECT" :
					clsForm.AddTr GBL_cssFormTr
					clsForm.AddTd clsPubDB.objPubRS("FORM_FMT_ITEM_DESC"),GBL_cssFormTdOne,GBL_cssFormTdTwo
					arrTmp = Split(clsPubDB.objPubRS("FORM_FMT_ITEM_FMT"),CONST_DIVIDER)
					clsForm.AddSelect clsPubDB.objPubRS("FORM_FMT_ITEM_NAME"),clsPubDB.objPubRS("FORM_FMT_ITEM_ADD")
					If UBound(arrTmp) = 2 Then
						For i = arrTmp(0) To arrTmp(1) Step arrTmp(2)
							clsForm.AddOption i,i,strAddValue
						Next
					Else
						arrTmpOpt1 = Split(arrTmp(0),",")
						arrTmpOpt2 = Split(arrTmp(1),",")
						For i = LBound(arrTmpOpt1) To UBound(arrTmpOpt1)
							clsForm.AddOption arrTmpOpt1(i),arrTmpOpt2(i),strAddValue
						Next
					End If

			Case	"FORM_RADIO" :
					clsForm.AddTr GBL_cssFormTr
					clsForm.AddTd clsPubDB.objPubRS("FORM_FMT_ITEM_DESC"),GBL_cssFormTdOne,GBL_cssFormTdTwo
					arrTmp = Split(clsPubDB.objPubRS("FORM_FMT_ITEM_FMT"),CONST_DIVIDER)
					arrTmpOpt1 = Split(arrTmp(0),",")
					arrTmpOpt2 = Split(arrTmp(1),",")
					For i = LBound(arrTmpOpt1) To UBound(arrTmpOpt1) - 1
						clsForm.AddRadio clsPubDB.objPubRS("FORM_FMT_ITEM_NAME"),arrTmpOpt1(i),arrTmpOpt2(i),strAddValue
					Next
					clsForm.AddRadio clsPubDB.objPubRS("FORM_FMT_ITEM_NAME"),arrTmpOpt1(UBound(arrTmpOpt1)),arrTmpOpt2(UBound(arrTmpOpt1)) & "" & clsPubDB.objPubRS("FORM_FMT_ITEM_ADD"),strAddValue

			Case	"FORM_CHECK" :
					clsForm.AddTr GBL_cssFormTr
					clsForm.AddTd clsPubDB.objPubRS("FORM_FMT_ITEM_DESC"),GBL_cssFormTdOne,GBL_cssFormTdTwo
					arrTmp = Split(clsPubDB.objPubRS("FORM_FMT_ITEM_FMT"),CONST_DIVIDER)
					'== Get check box's real value
					arrTmpOpt1 = Split(arrTmp(0),",")
					'== Get check box's show value
					arrTmpOpt2 = Split(arrTmp(1),",")
					'== Make check box and check wether or not be checked
					For i = LBound(arrTmpOpt1) To UBound(arrTmpOpt1) - 1
						clsForm.AddChkBox clsPubDB.objPubRS("FORM_FMT_ITEM_NAME"),arrTmpOpt1(i),arrTmpOpt2(i),Split(strAddValue,",")
					Next
					clsForm.AddChkBox clsPubDB.objPubRS("FORM_FMT_ITEM_NAME"),arrTmpOpt1(UBound(arrTmpOpt1)),arrTmpOpt2(UBound(arrTmpOpt1)) & "" & clsPubDB.objPubRS("FORM_FMT_ITEM_ADD"),Split(strAddValue,",")

		End Select

		clsPubDB.objPubRS.MoveNext

	Wend
	
	clsPubDB.objPubRS.MoveFirst

	clsForm.AddTr GBL_cssFormSubTr
	clsForm.AddSubTd GBL_cssFormSubTd
	clsForm.AddSub "sub" & clsPubDB.objPubRS("FORM_FMT_NAME"),"提 交","submit"
	clsForm.AddSub "rst" & clsPubDB.objPubRS("FORM_FMT_NAME"),"重 写","reset"

	clsForm.OutPutForm()
	Set clsForm = Nothing

End Sub
'================ End of Sub MakeNowForm() =========================
'===================================================================
'= Sub		    : CheckNowForm(strTransName,ByRef strOutData)
'= Time		    : Created At Nov,25,2003
'= Input        : strTransName : trans name
'=				  strOutData 
'= Output       : None
'= Called by    : 
'= Calls        : None
'= Table        : 
'= Description  : make form
'= Modify       :
'=               Time    Description
'===================================================================
Sub CheckNowForm(strTransName,ByRef strOutData)
	
	Const CONST_DIVIDER = ""	'== 0x1f
	Dim intErrId
	Dim strAddInfo
	Dim strGetDataField
	
	intErrId = 0
	strOutData = ""

	clsPubDB.Clear()
	clsPubDB.TableName = "CLASS_FORM_FMT"
	clsPubDB.SQLType = "SELECT"
	clsPubDB.AddField "*",""
	clsPubDB.Where = "FORM_FMT_ACT_TRANS='" & strTransName & "' "
	clsPubDB.Order = "FORM_FMT_ITEM_ORDER ASC"
	clsPubDB.SQLRSExecute()
	Call ResultExecute(clsPubDB.intErrNum,"Get form fmt at check ","ES_ERR")

	If clsPubDB.intRSNum = 0 Then
		Call ResultExecute(20,"Form:" & strFormName,"ES_ERR")
	End If
	
	strOutData = clsPubDB.intRSNum
	While Not clsPubDB.objPubRS.Eof 
		
		'== Get every item's form value
		strGetDataField = Trim(Request.Form(clsPubDB.objPubRS("FORM_FMT_ITEM_NAME")))
		strAddInfo = clsPubDB.objPubRS("FORM_FMT_ITEM_DESC")

		'== Check this item's data is wether or not valid
		If Trim(clsPubDB.objPubRS("FORM_FMT_ITEM_CHECK")) <> "" Then
			intErrId = 	DataCheck(clsPubDB.objPubRS("FORM_FMT_ITEM_CHECK"),strGetDataField,strAddInfo,clsPubDB.objPubRS("FORM_FMT_ITEM_DATAINFO"))
				
			Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
		End If

		strOutData = strOutData & CONST_DIVIDER & strGetDataField

		clsPubDB.objPubRS.MoveNext

	Wend

End Sub
'=============== End of Sub CheckNowForm() =========================
'===================================================================
'= Sub		    : SaveNowForm(strTransName,strTableName,strSaveFlag,strWhere)
'= Time		    : Created At Nov,25,2003
'= Input        : strTransName : trans name
'=				  strTableName : table name need to insert or update
'=                strSaveFlag  : db operate flag
'=								"INSERT","UPDATE"
'=			      strWhere     : db operate where
'= Output       : None
'= Called by    : 
'= Calls        : None
'= Table        : 
'= Description  : Save all form data in db
'= Modify       :
'=               Time    Description
'===================================================================
Sub SaveNowForm(strTransName,strTableName,strSaveFlag,strWhere)
	
	Dim intErrId
	Dim strAddInfo
	Dim strGetDataField
	Dim objTmpRS
	
	intErrId = 0
	strOutData = ""

	clsPubDB.Clear()
	clsPubDB.TableName = "CLASS_FORM_FMT"
	clsPubDB.SQLType = "SELECT"
	clsPubDB.AddField "*",""
	clsPubDB.Where = "FORM_FMT_TRANS='" & strTransName & "' "
	clsPubDB.Order = "FORM_FMT_ITEM_ORDER ASC"
	clsPubDB.SQLRSExecute()
	Call ResultExecute(clsPubDB.intErrNum,"Get form fmt at save form ","ES_ERR")

	If clsPubDB.intRSNum = 0 Then
		Call ResultExecute(20,"Form:" & strFormName,"ES_ERR")
	End If
	
	Set objTmpRS = clsPubDB.objPubRS
	'== Set CLASS_TRANS update 
	clsPubDB.Clear()
	clsPubDB.TableName = "CLASS_TRANS"
	If strSaveFlag = "UPDATE" Or strSaveFlag = "INSERT" Then
		clsPubDB.SQLType = strSaveFlag
	Else
		Call ResultExecute(22,strSaveFlag,"ES_ERR")
		Exit Sub
	End If
	If strSaveFlag = "UPDATE" Then
		clsPubDB.Where = strWhere
	End If

	While Not objTmpRS.Eof 
		
		'== Get every item's form value
		strGetDataField = Trim(Request.Form(objTmpRS("FORM_FMT_ITEM_NAME")))
		strAddInfo = objTmpRS("FORM_FMT_ITEM_DESC")

		'== Check this item's data is wether or not valid
		If Trim(objTmpRS("FORM_FMT_ITEM_CHECK")) <> "" Then
			intErrId = 	DataCheck(objTmpRS("FORM_FMT_ITEM_CHECK"),strGetDataField,strAddInfo,objTmpRS("FORM_FMT_ITEM_DATAINFO"))
				
			Call ResultExecute(intErrId,strAddInfo&strGetDataField,"ES_ERR")
		End If
		
		'== Add a field 
		clsPubDB.AddField objTmpRS("FORM_FMT_ITEM_DBFIELD"),strGetDataField

		objTmpRS.MoveNext

	Wend
	
	Set objTmpRS = Nothing

	clsPubDB.SQLExecute()
	Call ResultExecute(clsPubDB.intErrNum,"update or insert trans"&clsPubDB.ReturnSQL,"ES_ERR")

End Sub
'================ End of SaveNowForm() =============================
'================ FUNCTION AND SUB BODY END ========================
%>