大虾们,我在毕业设计时遇到的问题如下:
com中的代码:
Option Explicit
Private con As ADODB.Connection
Private rec As ADODB.RecordsetPublic Function denglu1(my_userid As String, my_password As String) As Boolean
Set con = New ADODB.Connection
Set rec = New ADODB.Recordset
Dim sql1 As String
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\text.mdb"
con.Open
sql1 = "select userid,password from userinfo where userid= '" & my_userid & " 'and password= '" & my_password & " ' "
rec.Open sql1, con
If Not (rec.EOF) Then
denglu1 = True
Else
denglu1 = False
End If
End Function
编译的dll为ppp.dll,类为class1。
asp中的调用代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% set dl=server.CreateObject("ppp.class1")
a=request("user_id")
b=request("pass")
dl.denglu1(a),(b)select case d
case 0
response.Redirect("index01.asp")
case 1
response.write("<html><body>")
response.write("error!</body></html>")
end select
%>
报错:
vbscript运行错误
我想问的是怎么在asp中定义返回的布尔值变量?怎么判断它??我写的case有问题吗??
我用if写的时候,不知道怎么写判断的条件。谢谢大虾们,救命啊~!

解决方案 »

  1.   

    对不起,那个d应该是dl.denglu1
    大虾们求救啊~!
      

  2.   

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <% set dl=server.CreateObject("ppp.class1")
    a=request("user_id")
    b=request("pass")
    dim d as boolean
    d=dl.denglu1(a),(b)
    '建议返回int型,很简单
    如果是boolean,先把d转换成string试试
    select case d
    case 0
    response.Redirect("index01.asp")
    case 1
    response.write("<html><body>")
    response.write("error!</body></html>")
    end select
    %>