您当前的位置: 首页 > 网站编程 > ASP教程 > 根据多个条件参数化查询一个记录集的ASP数据库操作函数

根据多个条件参数化查询一个记录集的ASP数据库操作函数

作者:xiaoxiao 来源:未知 发布时间: 2014-07-04 09:23 点击:
这个ASP操作数据库的具体内容如下: '获取数据库信息,N个结果字段,N个条件 Function GetDbDataNN(conn,rs,sql,whereState,whereArray) Dim cmdT,i Set cmdT=Server.CreateObject(ADODB.Command) If conn.state1 Then conn.open With cmdT Set .ActiveConnection = co

根据多个条件参数化查询一个记录集的ASP数据库操作函数

  这个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数据库操作函数,本文就介绍这么多,希望对您有所帮助,谢谢!

分享到:
本文"根据多个条件参数化查询一个记录集的ASP数据库操作函数"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4