Public Function HaveparentList(mTable, id)
        Dim Sql, Rs, Result
        Sql = "SELECT parentid FROM "&mTable&" WHERE id = " & id
        Set Rs = Db.Execute(Sql)
        While Not Rs.EOF
            If HaveparentList <> "" Then
               HaveUpnList = HaveparentList & "," & Rs("parentid")
            Else
                HaveparentList = Rs("parentid")
            End If
            Result = HaveparentList(mTable, Rs("parentid"))
            If Result <> "" Then
                HaveparentList = HaveparentList & "," & Result
            End If
            Rs.MoveNext
        Wend
        Rs.Close
        Set Rs = Nothing
    End Function其中代码第三行:Sql = "SELECT parentid FROM "&mTable&" WHERE id = " & id
显示为红色,出错了,请大侠指正一下,感谢

解决方案 »

  1.   

    Sql = "SELECT parentid FROM " & mTable & " WHERE id = " & id
      

  2.   

    Sql = "SELECT parentid FROM " & mTable & " WHERE id = " & id  
      

  3.   

    感谢,速度快,服务好,兄弟,谢谢你。小弟我vb懂很少很少,能解释一下为什么的话,我以后走的弯路更少,如果你可以讲讲asp转vb需要注意那些问题,小弟我更感激不尽,谢谢。
      

  4.   

    TO :楼主
    楼主最好去看一些VB入门的书,学学语法什么的
      

  5.   

    是这样的,我就懂一些asp,现在有需要把asp封装成dll,vb说白了我其实就不懂。也没多少时间去学习vb,唉,感谢
      

  6.   

    谢谢你。恰好遇到问题。小弟我问题简单,而且表达不是很好的话,请大虾见谅。
    ----------------------------------
    hu 错误 '800a01a8' 需要对象 /root/public/asp/upperson_list.asp,行54 
    ---------------------------
    是这样的,我把一个函数封装了dll。
    我在asp调用,其他的没问题。
    就是这里。
    我的第54行代码是:<%=Ini.HaveThing("title","house_upclass","id","1")%>
    被封装的函数如下:
        '函数:获取
        '参数:HaveThing
        Public Function HaveThing(Dohave, Dotable, dofield, dothing)
        Dim Rs, Sql
        Sql = "SELECT TOP 1 " & Dohave & " FROM  " & Dotable & " WHERE " & dofield & " = '" & dothing & "'"
        Set Rs = Db.Execute(Sql)
            If Rs.EOF And Rs.Bof Then
            HaveThing = ""
                Rs.Close
                Set Rs = Nothing
                Exit Function
            End If
            HaveThing = Rs("" & Dohave & "")
            Rs.Close
            Set Rs = Nothing
        End Function
    再次表示感谢。
      

  7.   

    封装后,你这个rs是哪来的?db是哪来的?这些你都没有啊
      

  8.   

    有点眉目了我。
    <!--#include file="database.asp"-->
    <%
    Dim Db, Ini
    Set Db = New Database
    Set Ini = Server.CreateObject("uuuu.hua")
    我是这样子调用的,小弟明白了出错的意思了。
    感谢chuifengde(树上的鸟儿)。能具体说下么?我是今天上午才第一次学封装dll。
    我有1个解决方法,就是把database.asp的内容也一并封装在1个dll里,那估计可以解决。我的想法正确么?
    还有其他的方法解决么?
      

  9.   

    chuifengde(树上的鸟儿) ,
    "应该把db作为函数的参数传进去"我没看明白。
      

  10.   

    就如chuifengde(树上的鸟儿)所说,你需要把数据库的连接Connection做为函数的参数传入进你封装的DLL中。
    database.asp可以作为一个专用于建立数据库连接的类使用
      

  11.   

    这次就是问题了。
        Public Conn
        Public Function Open()
            Set Conn = Server.CreateObject("ADODB.CONNECTION")
            Conn.Open "PROVIDER=SQLOLEDB.1;Data Source=(local);Initial Catalog=huyui;Persist Security Info=True;User Id=sa;Password=123;Connect Timeout=30"
        End Function第一句:    Public Conn 在vb里应该是????
    这句我就不明白了。不懂怎么写
      

  12.   

    Public conn As New ADODB.Connection
      

  13.   

    小弟确实愚蠢.
    代码如下,快过了,研究来来不及了.我要上班到年三十,唉.
    Private Context As ScriptingContext
    Private Application As Application
    Private Response As Response
    Private Request As Request
    Private Session As Session
    Private Server As Server
    Public Function OnStartPage(PassedscriptContext As ScriptingContext)
    Set Context = PassedscriptContext
    Set Application = Context.Application
    Set Request = Context.Request
    Set Response = Context.Response
    Set Server = Context.Server
    Set Session = Context.Session
    End Function
    Public conn As New ADODB.Connection
        Public Function Open()
            Set Conn = Server.CreateObject("ADODB.CONNECTION")
            Conn.Open "PROVIDER=SQLOLEDB.1;Data Source=(local);Initial Catalog=huyui;Persist Security Info=True;User Id=sa;Password=123;Connect Timeout=30"
        End Function这一句:Public conn As New ADODB.Connection我放的位置对么?
    提示错误信息为:在End Function后只能出现注释!
      

  14.   

    这一句你放在这里也没错,但习惯上我们都把全局变量声明放在程序的最前部,方便阅读。
    另外不要使用Open的函数名,换一个别的名字
      

  15.   

    呵呵,我改了OPEN,刚刚改的.谢谢.
    但刚才那句:Public conn As New ADODB.Connection 放在那里提示错误了.
    错误信息是:在End Function后只能出现注释!
    去掉这句就没问题.但却是不可以去掉的.
    我该....
    提前祝你好人一生快乐.:)
      

  16.   

    我把Public conn As New ADODB.Connection 改为Public conn
    提前放置就可以了,谢谢你。我结贴送分。
      

  17.   

    请chuifengde(树上的鸟儿)见谅。:)才送了5分,一片心意。再再次感谢T2(無藥可救)