zoukankan      html  css  js  c++  java
  • ASP无限分类数据库版

    数据库Access,字段:ClassID(主键),ParentClassID,ClassName,3个字段都是文本型。
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        
    <head>
            
    <title>ASP无限分类数据库版</title>
            
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
            
    <meta name="Generator" content="EditPlus">
            
    <meta name="Author" content="Dicky;QQ:25941">
            
    <meta name="Keywords" content="Dicky;QQ:25941;ASP无限分类数据库版">
            
    <meta name="Description" content="Dicky;QQ:25941;ASP无限分类数据库版">
        
    </head>

        
    <body>
            
    <%
            
    Const IsSql = 0    '定义数据库类型,1为SQL Server,0为Access
            Function OpenConn(Conn)     '打开数据库连接
                Dim ConnStr 
                
    If IsSql = 1 Then '如果是SQL Server数据库 
                    'SQL Server数据库连接参数:用户名、用户密码、数据库名、连接名(本地用local,外地用IP) 
                    Dim SqlUsername,SqlPassword,SqlDatabaseName,SqlLocalName 
                    SqlUsername 
    = "sa" 
                    SqlPassword 
    = "" 
                    SqlDatabaseName 
    = "TreeDb" 
                    SqlLocalName 
    = "(local)" 
                    ConnStr 
    = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";" 
                
    Else  '如果是Access数据库 
                    Dim Db 
                    
    '第一次使用请修改本处数据库地址并相应修改数据库名称,如将Dicky.mdb修改为Dicky.asp(防止恶意下载Access数据库) 
                    Db = "TreeDB.mdb" 
                    ConnStr 
    = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(Db)
                
    End If 
                
    On Error Resume Next 
                
    Set Conn = Server.CreateObject("ADODB.Connection"
                Conn.Open ConnStr 
                
    If Err Then 
            
    '        Err.Clear 
                    Set Conn = Nothing 
                    Response.Write 
    "数据库连接出错,请检查连接字串。" 
                    Response.End 
                
    End If 
            
    End Function

            
    Function CloseConn(Conn)  '关闭数据库连接 
                If IsObject(Conn) Then
                    Conn.Close 
                    
    Set Conn = Nothing
                
    End If
            
    End Function

            
    Function Echo(Str) '输出字符串并换行
                Response.Write Str & VbCrlf
            
    End Function

            
    Call OpenConn(Conn)

            
    '定义第一级分类
            Sub MainFl()
                
    Dim Rs
                
    Set Rs = Conn.Execute("SELECT ClassID,ClassName FROM Class WHERE ParentClassID IS NULL")
                
    If Not Rs.Eof Then
                    
    Do While Not Rs.Eof
                        Echo(
    "<div><label id=""" & Trim(Rs("ClassID")) & """>+" & Trim(Rs("ClassName")) & "</label>")
                        
    Call Subfl(Rs("ClassID"),"|-"'循环子级分类
                        Echo("</div>")
                    Rs.MoveNext
                    
    If Rs.Eof Then Exit Do '防上造成死循环
                    Loop
                
    End If
                
    Set Rs = Nothing
            
    End Sub
            
    '定义子级分类
            Sub SubFl(FID,StrDis)
                
    Dim Rs1
                
    Set Rs1 = Conn.Execute("SELECT ClassID,ClassName FROM Class WHERE ParentClassID = '" & FID & "'")
                
    If Not Rs1.Eof Then
                    
    Do While Not Rs1.Eof
                        Echo(
    "    <div id=""" & Trim(Rs1("ClassID")) & """>" & StrDis & Trim(Rs1("ClassName")) & "</div>")
                        
    Call SubFl(Trim(Rs1("ClassID")),"" & Strdis) '递归子级分类
                    Rs1.Movenext:Loop
                    
    If Rs1.Eof Then
                        Rs1.Close
                        
    Exit Sub
                    
    End If
                
    End If
                
    Set Rs1 = Nothing
            
    End Sub

            
    '最后直接调用MainFl()就行了

            MainFl()

            
    Call CloseConn(Conn)%>
        
    </body>
    </html>
  • 相关阅读:
    【Qt】splitter
    android 使用AsyncHttpClient框架上传文件以及使用HttpURLConnection下载文件
    poj 1879 Truck History
    在LinuxMint中对firefox进行手动安装flash插件
    王立平--include在Android中的应用
    【IPC进程间通讯之二】管道Pipe
    我组织类时无意间遵守了依赖倒置原则
    百度2016笔试(算法春招实习)
    制作翻转效果动画
    vim常用命令行备忘总结
  • 原文地址:https://www.cnblogs.com/Dicky/p/416235.html
Copyright © 2011-2022 走看看