<% dim action : action=getForm("action","get") Select case action case "del" : DelForm case "add" : AddForm case "edit" : EditForm case "editsave" : EditFormSave case "save" :SaveForm case "order" :updateOrder End Select Dim FormID, FormName, FormOrder, FormField Dim FormOptions,FormDiversification,FormControlType,FormCategory,FormNotNull Sub EditForm dim sql,rsObj sql = "select * from {prefix}FormSet where FormID="&CInt(getForm("ID","get")) Set rsObj=conn.Exec(sql,"r1") if rsObj.eof then exit sub FormID = rsObj("FormID") FormName = rsObj("FormName") FormOrder = rsObj("FormOrder") FormField = rsObj("FormField") FormOptions = rsObj("FormOptions") FormDiversification = rsObj("FormDiversification") FormControlType = rsObj("FormControlType") FormCategory = rsObj("FormCategory") FormNotNull = rsObj("FormNotNull") rsObj.close :Set rsObj = nothing End Sub Sub EditFormSave dim f for each f in request.Form echo "

"&f&"="&request.Form(f)&"

" next echo "修改功能添加中" response.end End Sub Sub AddForm Dim rsObj,sql,tmpCount,i,fName FormField=getForm("FormField","post") FormOptions=getForm("FormOptions","post") FormDiversification=getForm("FormDiversification","post") FormControlType=getForm("FormControlType","post") FormName=getForm("FormName","post") FormCategory=getForm("FormCategory","post") FormOrder=getForm("FormOrder","post") FormNotNull=getForm("FormNotNull","post") if FormNotNull = "on" then FormNotNull = true else FormNotNull = false end if FormOptions = encode(FormOptions) fName = FormField if isnul(FormDiversification) then FormDiversification = 0 if isnul(FormName) then alertMsgAndGo "參數名稱不能為空,請修改","-1" if isnul(FormField) then alertMsgAndGo "字段名稱不能為空,請修改","-1" sql = "select count(*) from {prefix}FormSet where FormField='"&FormField&"'" Set rsObj=conn.Exec(sql,"r1") tmpCount = rsObj(0) rsObj.close :Set rsObj = nothing sql = "select count(*) from {prefix}Custom" Set rsObj=conn.Exec(sql,"r1") for i=0 to rsObj.Fields.Count-1 if rsObj.Fields(i).Name = fName then tmpCount = tmpCount + 1 end if next rsObj.close :Set rsObj = nothing if tmpCount > 0 then alertMsgAndGo "字段名稱已存在,請修改","-1" '0 文本,1 數字,2 編輯器,3 附件,4 日期,5 顏色,6 單選,7 多選 Select Case CInt(FormControlType) Case 2 sql = "ALTER TABLE {prefix}Custom ADD column "&fName&" memo" Case Else sql = "ALTER TABLE {prefix}Custom ADD column "&fName&" Text(255)" End Select conn.Exec sql,"exe" if Err then alertMsgAndGo "添加字段失敗,請聯系管理員","-1" sql = "insert into {prefix}FormSet(FormName,FormField,FormOrder,FormControlType,FormCategory,FormOptions,FormNotNull,FormDiversification) values('"&FormName&"','"&FormField&"',"&FormOrder&",'"&FormControlType&"','"&FormCategory&"','"&FormOptions&"',"&FormNotNull&","&FormDiversification&")" conn.Exec sql,"exe" alertMsgAndGo "添加成功","AspCms_Form.asp" End Sub Sub FormList dim FormID, FormName, FormOrder, FormField dim sql, msg Dim rsObj : Set rsObj=conn.Exec("select FormID,FormName,FormField,FormOrder,FormCategory from {prefix}FormSet Order by FormOrder Asc,FormID","r1") If rsObj.Eof Then echo"" echo "沒有數據" echo "" Else Do while not rsObj.Eof echo "" echo "" echo "" echo "" echo "" echo "" echo "" echo ""&rsObj("FormID")&"" echo ""&rsObj("FormName")&"" if rsObj("FormCategory") <> "" then echo ""&rsObj("FormCategory")&"_"&rsObj("FormField")&"" else echo ""&rsObj("FormField")&"" end if echo "" echo " 刪除" echo "" rsObj.MoveNext Loop End If rsObj.close : Set rsObj = nothing End Sub Sub DelForm dim m_FormField Dim sql,tmp dim ID : ID = getForm("id","both") FormField=getForm("FormField","both") FormCategory=getForm("FormCategory","both") m_FormField=replace(FormField,"'","") FormField = replace(FormField,"'","") 'die m_FormField tmp = m_FormField if FormCategory <> "" then tmp = m_FormField sql = "ALTER TABLE {prefix}Custom drop column "&m_FormField 'die sql conn.Exec sql,"exe" if instr(m_FormField,"'")=0 then m_FormField = "'"&m_FormField&"'" sql = "Delete from {prefix}FormSet where FormID in ("&ID&")" 'echo sql & "
" conn.Exec sql,"exe" alertMsgAndGo "刪除成功","AspCms_Form.asp" if Err then echo err.description 'alertMsgAndGo "刪除字段失敗,請聯系管理員","-1" End Sub Sub updateOrder dim sql, msg Dim ids : ids=split(getForm("FormIDs","post"),",") Dim orders : orders=split(getForm("FormOrders","post"),",") If Ubound(ids)=-1 Then '防止有值為空時下標越界 ReDim ids(0) ids(0)="" End If If Ubound(orders)=-1 Then ReDim orders(0) orders(0)=0 End If Dim i For i=0 To Ubound(ids) if isnum(trim(orders(i))) then Conn.Exec "update {prefix}FormSet Set FormOrder="&trim(orders(i))&" Where FormID="&trim(ids(i)),"exe" else Conn.Exec "update {prefix}FormSet Set FormOrder=0 Where FormID="&trim(ids(i)),"exe" end if Next alertMsgAndGo "更新排序成功","AspCms_Form.asp" End Sub %>