VS_Class.asp
上传用户:jisenq
上传日期:2014-06-29
资源大小:7216k
文件大小:16k
源码类别:

数据库编程

开发平台:

ASP/ASPX

  1. <% Option Explicit %>
  2. <!--#include file="../../FS_Inc/Const.asp" -->
  3. <!--#include file="../../FS_InterFace/MF_Function.asp" -->
  4. <!--#include file="../../FS_InterFace/VS_Function.asp" -->
  5. <!--#include file="../../FS_Inc/Function.asp" -->
  6. <!--#include file="../../FS_Inc/Func_Page.asp" -->
  7. <%'Copyright (c) 2006 Foosun Inc. Code by awen
  8. Response.Buffer = True
  9. Response.Expires = -1
  10. Response.ExpiresAbsolute = Now() - 1
  11. Response.Expires = 0
  12. Response.CacheControl = "no-cache"
  13. Dim Conn,VS_Rs,VS_Sql
  14. Dim AutoDelete,Months
  15. MF_Default_Conn 
  16. MF_Session_TF
  17. if not MF_Check_Pop_TF("VS003") then Err_Show
  18. Dim int_RPP,int_Start,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo
  19. int_RPP=15 '设置每页显示数目
  20. int_showNumberLink_=10 '数字导航显示数目
  21. showMorePageGo_Type_ = 1 '是下拉菜单还是输入值跳转,当多次调用时只能选1
  22. str_nonLinkColor_="#999999" '非热链接颜色
  23. toF_="<font face=webdings>9</font>"    '首页 
  24. toP10_=" <font face=webdings>7</font>" '上十
  25. toP1_=" <font face=webdings>3</font>" '上一
  26. toN1_=" <font face=webdings>4</font>" '下一
  27. toN10_=" <font face=webdings>8</font>" '下十
  28. toL_="<font face=webdings>:</font>" '尾页
  29. ''得到相关表的值。
  30. Function Get_OtherTable_Value(This_Fun_Sql)
  31. Dim This_Fun_Rs,f_Tmpstr_
  32. f_Tmpstr_ = ""
  33. if instr(This_Fun_Sql," FS_ME_")>0 then 
  34. set This_Fun_Rs = Conn.execute(This_Fun_Sql)
  35. else
  36. set This_Fun_Rs = Conn.execute(This_Fun_Sql)
  37. end if
  38. if not This_Fun_Rs.eof then 
  39. if instr(This_Fun_Sql," in ") > 0 then 
  40. do while not This_Fun_Rs.eof
  41. f_Tmpstr_ = f_Tmpstr_ & This_Fun_Rs(0) &","
  42. This_Fun_Rs.movenext
  43. loop
  44. else
  45. f_Tmpstr_ = This_Fun_Rs(0)
  46. end if
  47. else
  48. f_Tmpstr_ = "0"
  49. end if
  50. if Err.Number>0 then 
  51. Err.Clear
  52. response.Redirect("../error.asp?ErrCodes=<li>Get_OtherTable_Value未能得到相关数据。错误描述:"&Err.Description&"</li>") : response.End()
  53. end if
  54. set This_Fun_Rs=nothing 
  55. if right(f_Tmpstr_,1)="," then f_Tmpstr_ = left(f_Tmpstr_,len(f_Tmpstr_) - 1)
  56. Get_OtherTable_Value = f_Tmpstr_
  57. End Function
  58. Function Get_FildValue_List(This_Fun_Sql,EquValue,Get_Type)
  59. '''This_Fun_Sql 传入sql语句,EquValue与数据库相同的值如果是<option>则加上selected,Get_Type=1为<option>
  60. Dim Get_Html,This_Fun_Rs,Text
  61. On Error Resume Next
  62. set This_Fun_Rs = Conn.execute(This_Fun_Sql)
  63. If Err.Number <> 0 then Err.clear : response.Redirect("../error.asp?ErrCodes=<li>抱歉,传入的Sql语句有问题.或表和字段不存在.</li>")
  64. do while not This_Fun_Rs.eof 
  65. select case Get_Type
  66.   case 1
  67. ''<option>
  68. if instr(This_Fun_Sql,",") >0 then 
  69. Text = This_Fun_Rs(1)
  70. else
  71. Text = This_Fun_Rs(0)
  72. end if
  73. if trim(EquValue) = trim(This_Fun_Rs(0)) then 
  74. Get_Html = Get_Html & "<option value="""&This_Fun_Rs(0)&"""  style=""color:#0000FF"" selected>"&Text&"</option>"&vbNewLine
  75. else
  76. Get_Html = Get_Html & "<option value="""&This_Fun_Rs(0)&""">"&Text&"</option>"&vbNewLine
  77. end if
  78.   case else
  79. exit do : Get_FildValue_List = "Get_Type值传入错误" : exit Function 
  80. end select
  81. This_Fun_Rs.movenext
  82. loop
  83. This_Fun_Rs.close
  84. Get_FildValue_List = Get_Html
  85. End Function 
  86. Function Get_While_Info(Add_Sql,orderby)
  87. Dim Get_Html,This_Fun_Sql,ii,Str_Tmp,Arr_Tmp,New_Search_Str,Req_Str,regxp
  88. Dim CID,ClassName,Description
  89. CID  = NoSqlHack(request("CID"))
  90. ClassName   = NoSqlHack(request("ClassName"))
  91. Description = NoSqlHack(request("Description"))
  92. Str_Tmp = "CID,ClassName,Description"
  93. This_Fun_Sql = "select "&Str_Tmp&" from FS_VS_Class"
  94. if CID<>"" then New_Search_Str = and_where(New_Search_Str) & Search_TextArr(CID,"CID","")
  95. if ClassName<>"" then New_Search_Str = and_where(New_Search_Str) & Search_TextArr(ClassName,"ClassName","")
  96. if Description<>"" then New_Search_Str = and_where(New_Search_Str) & Search_TextArr(Description,"Description","")
  97. if New_Search_Str<>"" then This_Fun_Sql = and_where(This_Fun_Sql) & replace(New_Search_Str," where ","")
  98. Str_Tmp = ""
  99. if Add_Sql<>"" then This_Fun_Sql = and_where(This_Fun_Sql) &" "& Decrypt(Add_Sql)
  100. if orderby<>"" then This_Fun_Sql = This_Fun_Sql &"  Order By "& replace(orderby,"csed"," Desc")
  101. 'response.Write(This_Fun_Sql)
  102. On Error Resume Next
  103. Set VS_Rs = CreateObject(G_FS_RS)
  104. VS_Rs.Open This_Fun_Sql,Conn,1,1
  105. if Err<>0 then 
  106. Err.Clear
  107. response.Redirect("../error.asp?ErrCodes=<li>查询出错:"&Err.Description&"</li><li>请检查字段类型是否匹配.</li>")
  108. response.End()
  109. end if
  110. IF VS_Rs.eof THEN
  111.   response.Write("<tr class=""hback""><td colspan=15>暂无数据.</td></tr>") 
  112. else
  113. VS_Rs.PageSize=int_RPP
  114. cPageNo=NoSqlHack(Request.QueryString("Page"))
  115. If cPageNo="" Then cPageNo = 1
  116. If not isnumeric(cPageNo) Then cPageNo = 1
  117. cPageNo = Clng(cPageNo)
  118. If cPageNo<=0 Then cPageNo=1
  119. If cPageNo>VS_Rs.PageCount Then cPageNo=VS_Rs.PageCount 
  120. VS_Rs.AbsolutePage=cPageNo
  121.   FOR int_Start=1 TO int_RPP 
  122. Get_Html = Get_Html & "<tr class=""hback"">" & vbcrlf
  123. Get_Html = Get_Html & "<td align=""center"">"&VS_Rs("CID")&"</td>" & vbcrlf
  124. Get_Html = Get_Html & "<td align=""center""><a href=""VS_Class.asp?Act=Edit&CID="&VS_Rs("CID")&""">"&VS_Rs("ClassName")&"</a></td>" & vbcrlf
  125. Get_Html = Get_Html & "<td align=""center"">"&left(VS_Rs("Description"),100)&"...</td>" & vbcrlf
  126. Get_Html = Get_Html & "<td align=""center"" class=""ischeck""><input type=""checkbox"" name=""CID"" id=""CID"" value="""&VS_Rs("CID")&""" /></td>" & vbcrlf
  127. Get_Html = Get_Html & "</tr>" & vbcrlf
  128. VS_Rs.MoveNext
  129.   if VS_Rs.eof or VS_Rs.bof then exit for
  130.       NEXT
  131. END IF
  132. Get_Html = Get_Html & "<tr class=""hback""><td colspan=20 align=""center"" class=""ischeck"">"& vbcrlf &"<table width=""100%"" border=0><tr><td height=30>" & vbcrlf
  133. Get_Html = Get_Html & fPageCount(VS_Rs,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo)  & vbcrlf
  134. Get_Html = Get_Html & "</td><td align=right><input type=""submit"" name=""submit"" value="" 删除 "" onclick=""javascript:return confirm('确定要删除所选项目吗?');""></td>"
  135. Get_Html = Get_Html &"</tr></table>"&vbNewLine&"</td></tr>"
  136. Get_Html = Get_Html &"</td></tr>"
  137. VS_Rs.close
  138. Get_While_Info = Get_Html
  139. End Function
  140. Sub Del()
  141. if not MF_Check_Pop_TF("VS002") then Err_Show
  142. Dim Str_Tmp
  143. if request.QueryString("CID")<>"" then 
  144. Conn.execute("Delete from FS_VS_Class where CID = "&NoSqlHack(request.QueryString("CID")))
  145. Conn.execute("Delete from FS_VS_Items where TID in ( "&Get_OtherTable_Value("select TID from FS_VS_Theme where CID in ( "&NoSqlHack(request.QueryString("CID"))&")")&" )")
  146. Conn.execute("Delete from FS_VS_Items_Result where TID in ( "&Get_OtherTable_Value("select TID from FS_VS_Theme where CID in ( "&NoSqlHack(request.QueryString("CID"))&")")&" )")
  147. Conn.execute("Delete from FS_VS_Steps where TID in ( "&Get_OtherTable_Value("select TID from FS_VS_Theme where CID in ( "&NoSqlHack(request.QueryString("CID"))&")")&" )")
  148. Conn.execute("Delete from FS_VS_Theme where CID = "&NoSqlHack(request.QueryString("CID")))
  149. else
  150. Str_Tmp = NoSqlHack(request.form("CID"))
  151. if Str_Tmp="" then response.Redirect("../error.asp?ErrCodes=<li>你必须至少选择一个进行删除。</li>"):response.End()
  152. Str_Tmp = replace(Str_Tmp," ","")
  153. Conn.execute("Delete from FS_VS_Class where CID in ("&Str_Tmp&")")
  154. Conn.execute("Delete from FS_VS_Items where TID in ( "&Get_OtherTable_Value("select TID from FS_VS_Theme where CID in ( "&Str_Tmp&")")&" )")
  155. Conn.execute("Delete from FS_VS_Items_Result where TID in ( "&Get_OtherTable_Value("select TID from FS_VS_Theme where CID in ( "&Str_Tmp&")")&" )")
  156. Conn.execute("Delete from FS_VS_Steps where TID in ( "&Get_OtherTable_Value("select TID from FS_VS_Theme where CID in ( "&Str_Tmp&")")&" )")
  157. Conn.execute("Delete from FS_VS_Theme where CID in ("&Str_Tmp&")")
  158. end if
  159. response.Redirect("../Success.asp?ErrorUrl="&server.URLEncode( "Vote/VS_Class.asp?Act=View" )&"&ErrCodes=<li>恭喜,删除成功。</li>")
  160. End Sub
  161. ''================================================================
  162. Sub Save()
  163. if not MF_Check_Pop_TF("VS002") then Err_Show
  164. Dim Str_Tmp,Arr_Tmp,CID
  165. Str_Tmp = "ClassName,Description"
  166. Arr_Tmp = split(Str_Tmp,",")
  167. CID = NoSqlHack(request.Form("CID"))
  168. if not isnumeric(CID) or not CID<>"" then CID = 0
  169. VS_Sql = "select "&Str_Tmp&"  from FS_VS_Class  where CID = "&CID
  170. Set VS_Rs = CreateObject(G_FS_RS)
  171. VS_Rs.Open VS_Sql,Conn,3,3
  172. if not VS_Rs.eof then 
  173. ''修改
  174. for each Str_Tmp in Arr_Tmp
  175. VS_Rs(Str_Tmp) = NoSqlHack(request.Form(Str_Tmp))
  176. next
  177. VS_Rs.update
  178. VS_Rs.close
  179. response.Redirect("../Success.asp?ErrorUrl="&server.URLEncode( "Vote/VS_Class.asp?Act=Edit&CID="&CID )&"&ErrCodes=<li>恭喜,修改成功。</li>")
  180. else
  181. ''新增
  182. if Conn.execute("Select Count(*) from FS_VS_Class where ClassName='"&NoSqlHack(request.Form("ClassName"))&"'")(0)>0 then 
  183. response.Redirect("../error.asp?ErrCodes=<li>你提交的数据已经存在,属于重复提交,请更换关键字。</li>"):response.End()
  184. end if
  185. VS_Rs.addnew
  186. for each Str_Tmp in Arr_Tmp
  187. 'response.Write(Str_Tmp&":"&NoSqlHack(request.Form(Str_Tmp))&"<br>")
  188. VS_Rs(Str_Tmp) = NoSqlHack(request.Form(Str_Tmp))
  189. next
  190. VS_Rs.update
  191. VS_Rs.close
  192. response.Redirect("../Success.asp?ErrorUrl="&server.URLEncode( "Vote/VS_Class.asp?Act=Add&ClassName="&request.Form("ClassName") ) &"&ErrCodes=<li>恭喜,新增成功。</li>")
  193. end if
  194. End Sub
  195. %>
  196. <html xmlns="http://www.w3.org/1999/xhtml">
  197. <HEAD>
  198. <TITLE>FoosunCMS</TITLE>
  199. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
  200. <link href="../images/skin/Css_<%=Session("Admin_Style_Num")%>/<%=Session("Admin_Style_Num")%>.css" rel="stylesheet" type="text/css">
  201. <script language="JavaScript" src="../../FS_Inc/PublicJS.js"></script>
  202. <script language="JavaScript" src="../../FS_Inc/CheckJs.js"></script>
  203. <script language="JavaScript">
  204. <!--
  205. function chkinput()
  206. {
  207. return isEmpty('Description','Description_Alt') && isEmpty('ClassName','ClassName_Alt');
  208. }
  209. //点击标题排序
  210. /////////////////////////////////////////////////////////
  211. var Old_Sql = document.URL;
  212. function OrderByName(FildName)
  213. {
  214. var New_Sql='';
  215. var oldFildName="";
  216. if (Old_Sql.indexOf("&filterorderby=")==-1&&Old_Sql.indexOf("?filterorderby=")==-1)
  217. {
  218. if (Old_Sql.indexOf("=")>-1)
  219. New_Sql = Old_Sql+"&filterorderby=" + FildName + "csed";
  220. else
  221. New_Sql = Old_Sql+"?filterorderby=" + FildName + "csed";
  222. }
  223. else
  224. {
  225. var tmp_arr_ = Old_Sql.split('?')[1].split('&');
  226. for(var ii=0;ii<tmp_arr_.length;ii++)
  227. {
  228. if (tmp_arr_[ii].indexOf("filterorderby=")>-1)
  229. {
  230. oldFildName = tmp_arr_[ii].substring(tmp_arr_[ii].indexOf("filterorderby=") + "filterorderby=".length , tmp_arr_[ii].length);
  231. break;
  232. }
  233. }
  234. oldFildName.indexOf("csed")>-1?New_Sql = Old_Sql.replace('='+oldFildName,'='+FildName):New_Sql = Old_Sql.replace('='+oldFildName,'='+FildName+"csed");
  235. }
  236. //alert(New_Sql);
  237. location = New_Sql;
  238. }
  239. /////////////////////////////////////////////////////////
  240. -->
  241. </script>
  242. <head>
  243. <body>
  244. <table width="98%" border="0" align="center" cellpadding="3" cellspacing="1" class="table">
  245.      <tr  class="hback"> 
  246.             
  247.     <td colspan="10" align="left" class="xingmu" >投票分类管理</td>
  248. </tr>
  249.   <tr  class="hback"> 
  250.     <td colspan="10" height="25">
  251.  <a href="VS_Class.asp">管理首页</a> | <a href="VS_Class.asp?Act=Add">新增</a> | <a href="VS_Class.asp?Act=Search">查询</a>
  252. </td>
  253.   </tr>
  254. </table>
  255. <%
  256. '******************************************************************
  257. select case request.QueryString("Act")
  258. case "Add","Edit","Search"
  259. Add_Edit_Search
  260. case "View","SearchGo",""
  261. View
  262. case "Save"
  263. Save
  264. case "Del"
  265. Del
  266. case "OtherSet"
  267. OtherSet(request.QueryString("Sql"))
  268. case else
  269. response.Redirect("../error.asp?ErrorUrl=&ErrCodes=<li>错误的参数传递。</li>") : response.End()
  270. end select
  271. '******************************************************************
  272. Sub View()
  273. if not MF_Check_Pop_TF("VS_site") then Err_Show
  274. %>
  275. <table width="98%" border="0" align="center" cellpadding="3" cellspacing="1" class="table">
  276. <form name="form1" id="form1" method="post" action="?Act=Del">
  277.    <tr  class="hback"> 
  278.       <td width="10%" align="center" class="xingmu"><a href="javascript:OrderByName('CID')" class="sd"><b>ID</b></a> 
  279.         <span id="Show_Oder_CID"></span></td>
  280.       <td width="30%" align="center" class="xingmu" ><a href="javascript:OrderByName('ClassName')" class="sd"><b>类别名称</b></a> 
  281.         <span id="Show_Oder_ClassName"></span></td>
  282.       <td align="center" class="xingmu" ><a href="javascript:OrderByName('Description')" class="sd"><b>描述</b></a> 
  283.         <span id="Show_Oder_Description"></span></td>
  284.       <td width="2%" align="center" class="xingmu"><input name="ischeck" type="checkbox" value="checkbox" onClick="selectAll(this.form)" /></td>
  285.     </tr>
  286.     <%
  287. response.Write( Get_While_Info( request.QueryString("Add_Sql"),request.QueryString("filterorderby") ) )
  288. %>
  289.    </form>
  290. </table>
  291. <%End Sub
  292. Sub Add_Edit_Search()
  293. if not MF_Check_Pop_TF("VS_site") then Err_Show
  294. Dim Bol_IsEdit,CID,ClassName
  295. Bol_IsEdit = false
  296. if request.QueryString("Act")="Edit" then
  297. CID = request.QueryString("CID")
  298. if CID="" then response.Redirect("../error.asp?ErrorUrl=&ErrCodes=<li>必要的CID没有提供。</li>") : response.End()
  299. VS_Sql = "select CID,ClassName,Description from FS_VS_Class where CID = "& CID
  300. Set VS_Rs = CreateObject(G_FS_RS)
  301. VS_Rs.Open VS_Sql,Conn,1,1
  302. if not VS_Rs.eof then 
  303. Bol_IsEdit = True
  304. ClassName = VS_Rs("ClassName")
  305. end if
  306. else
  307. end if
  308. %>
  309. <table width="98%" border="0" align="center" cellpadding="3" cellspacing="1" class="table">
  310.   <form name="form1" id="form1" method="post" <%if request.QueryString("Act")<>"Search" then response.Write("action=""?Act=Save"" onsubmit=""return chkinput();""") else response.Write("action=""?Act=SearchGo"" onsubmit=""SearchAdd();""") end if%>>
  311.     <tr  class="hback"> 
  312.       <td colspan="3" align="left" class="xingmu" >投票分类信息<%if Bol_IsEdit then  response.Write("<input type=""hidden"" name=""CID"" id=""CID"" value="""&VS_Rs("CID")&""">") end if%></td>
  313. </tr>
  314. <%if request.QueryString("Act")="Search" then %>
  315.     <tr class="hback"> 
  316.       <td width="100" align="right">自动编号</td>
  317.       <td>
  318.    <input type="text" name="CID" id="CID" size="11" maxlength="11">
  319.       </td>
  320.     </tr>
  321. <%end if%>
  322.     <tr  class="hback"> 
  323.       <td align="right">类别名称</td>
  324.       <td>
  325. <input type="text" name="ClassName" id="ClassName" size="30" maxlength="20" onFocus="Do.these('ClassName',function(){return isEmpty('ClassName','ClassName_Alt')})" onKeyUp="Do.these('ClassName',function(){return isEmpty('ClassName','ClassName_Alt')})" value="<%if Bol_IsEdit then response.Write(VS_Rs("ClassName")) end if%>">
  326. <span id="ClassName_Alt"></span>
  327.   </td>
  328.     </tr>
  329.     <tr  class="hback"> 
  330.       <td align="right">描述</td>
  331.       <td>
  332. <input type="text" name="Description" id="Description" size="30" maxlength="50" value="<%if Bol_IsEdit then response.Write(VS_Rs("Description")) end if%>">
  333.         <span id="Description_Alt"></span>
  334.   </td>
  335.     </tr>
  336.    <tr class="hback"> 
  337.       <td colspan="4">
  338.   <table border="0" width="100%" cellpadding="0" cellspacing="0">
  339.           <tr> 
  340.             <td align="center"> <input type="submit"value=" 确定提交 "/> 
  341.               &nbsp; <input type="reset" value=" 重置 " />
  342.      &nbsp; <input type="button" name="btn_todel" value=" 删除 " onClick="if(confirm('确定删除该项目吗?')) location='<%=server.URLEncode("VS_Class.asp?Act=Del&CID="&CID)%>'">
  343.             </td>
  344.           </tr>
  345.         </table>
  346.       </td>
  347.     </tr>
  348.   </form>
  349. </table>
  350. <%
  351. End Sub
  352. set VS_Rs = Nothing
  353. Conn.close
  354. %>
  355. <script language="JavaScript">
  356. <!--//判断后将排序完善.字段名后面显示指示
  357. //打开后根据规则显示箭头
  358. var Req_FildName;
  359. if (Old_Sql.indexOf("filterorderby=")>-1)
  360. {
  361. var tmp_arr_ = Old_Sql.split('?')[1].split('&');
  362. for(var ii=0;ii<tmp_arr_.length;ii++)
  363. {
  364. if (tmp_arr_[ii].indexOf("filterorderby=")>-1)
  365. {
  366. if(Old_Sql.indexOf("csed")>-1)
  367. {Req_FildName = tmp_arr_[ii].substring(tmp_arr_[ii].indexOf("filterorderby=") + "filterorderby=".length , tmp_arr_[ii].indexOf("csed"));break;}
  368. else
  369. {Req_FildName = tmp_arr_[ii].substring(tmp_arr_[ii].indexOf("filterorderby=") + "filterorderby=".length , tmp_arr_[ii].length);break;}
  370. }
  371. }
  372. if (document.getElementById('Show_Oder_'+Req_FildName)!=null)  
  373. {
  374. if(Old_Sql.indexOf(Req_FildName + "csed")>-1)
  375. {
  376. eval('Show_Oder_'+Req_FildName).innerText = '↓';
  377. }
  378. else
  379. {
  380. eval('Show_Oder_'+Req_FildName).innerText = '↑';
  381. }
  382. }
  383. }
  384. ///////////////////////////////////////////////////////// 
  385. -->
  386. </script>
  387. <!-- Powered by: FoosunCMS4.0系列,Company:Foosun Inc. -->