这个ASP操作数据库的具体内容如下:

'获取数据库信息,N个结果字段,N个条件

Function GetDbDataNN(conn,rs,sql,whereState,whereArray)

    Dim cmdT,i

    Set cmdT=Server.CreateObject("ADODB.Command")

    If conn.state<>1 Then conn.open

    With cmdT    

    Set .ActiveConnection = conn

    .CommandType = 1

    .CommandText = sql & " where 1=1 " & whereState

    For i=1 To UBound(whereArray)

        If whereArray(i,2) = "int" Then

            .Parameters.Append .CreateParameter(whereArray(i,1),3,1,4,whereArray(i,3))

        Else

            .Parameters.Append .CreateParameter(whereArray(i,1),200,1,128,whereArray(i,3))

        End If

    Next

    set rs=.Execute()

    End With

    Set cmdT.ActiveConnection = Nothing

    set cmdT=Nothing

End Function

解释一下GetDbDataNN这几个参数的含义:

conn:数据库连接

rs:记录集

sql:sql语句

whereState:条件语句,函数中在Where之后默认已经加了1=1的条件,所以whereState里面直接使用 “and 字段1=值1 and 字段2=值2”的格式即可。

whereArray:条件的值,以一个数组的形式传递值,这是一个二维数组,第一维表示参数的个数,第二维有三个值,分别表示参数名,参数类型,参数值。

函数的返回值

函数没有返回值,rs作为传入参数,也作为输出参数。

使用举例:

如果有一个用户表(表名为tb_user),有user_id、user_name、user_right、user_1、user_2等多个字段。这时我想通过user_1、user_2来获取整条记录,可以怎么通过这个asp数据库操作函数来实现呢?

'--------------调用示例-------------------------

'

'Dim whereState : whereState = ""

'ReDim whereArray(0,3)

'Dim whereCount : whereCount = 0

'

'If user_1<>"" Then

'    whereCount = whereCount + 1

'    whereState= whereState & " and user_1=?"

'    ReDim Preserve whereArray(whereCount,3)

'    whereArray(whereCount,1) = "user_1" : whereArray(whereCount,2) = "varchar" : whereArray(whereCount,3) = user_1

'End If

'If user_2<>"" Then

'    whereCount = whereCount + 1

'    whereState= whereState & " and user_2=?"

'    ReDim Preserve whereArray(whereCount,3)

'    whereArray(whereCount,1) = "user_2" : whereArray(whereCount,2) = "varchar" : whereArray(whereCount,3) = user_2

'End If

'

'conn.open

'sql="select * from tb_user"

'set rs = Server.CreateObject("ADODB.Recordset")

'Call GetDbDataNN(conn,rs,sql,whereState,whereArray)

'Do While Not rs.EOF

'...

'    rs.MoveNext

'Loop

'rs.Close: Conn.Close

关于根据多个条件参数化查询一个记录集的ASP数据库操作函数,本文就介绍这么多,希望对您有所帮助,谢谢!

03-14 12:26