;===============================================================================
;
; 函数名称.........: _MSSQL_QueryEx
; 描述.............: 查询数据库
; 语法.............: _MSSQL_QueryEx($oConnectionObj, $sTable, $sQueryBasis, $sExtractRow = '*')
; 参数(s)..........: $iSQLCon = $oConnectionObj = Object, returned by _MSSQL_Con
; $sTable = 表名
; $sQueryBasis = 查询依据,该依据为SQL表达式如:Name='水木子' 或 年龄>18
; 特别说明!如依据为字符型则需要用单引号如:正确的写法:Name='水木子' 错误的写法:Name=水木子
; 如依据为数值型则不需要使用单引号如:正确的写法:年龄>18 错误的写法:年龄>'18' 请注意单引号的使用。
; $sExtractRow = [可选参数] 提取查询结果列, 如:Name,提取多列可用分割符 "|" 隔开如:ID|Name|年龄 [默认 = "*" (全部提取)]
; 返回值(s)........: 成功 - Returns an Array
; 失败 - 0, sets @error
; |1 - 连接数据库对象失败
; |2 - 表或字段不存在
; |3 - 结果不是一个数组
; 作者.............: 水木子
;
;===============================================================================
Func _MSSQL_QueryEx($oConnectionObj, $sTable, $sQueryBasis, $sExtractRow = '*')
Local $oExecute, $sExpression
If IsObj($oConnectionObj) And Not @error Then
$sExtractRow = StringRegExpReplace($sExtractRow, '\|', ',')
$sExpression = 'SELECT ' & $sExtractRow & ' FROM ' & $sTable & ' WHERE ' & $sQueryBasis
$oExecute = $oConnectionObj.execute($sExpression)
If Not $oExecute.EOF Then
$aResult = $oExecute.GetRows()
If IsArray($aResult) Then
Return $aResult
Else
Return SetError(3, 0, 0)
EndIf
Else
Return SetError(2, 0, 0)
EndIf
Else
Return SetError(1, 0, 0)
EndIf
EndFunc ;==>_MSSQL_QueryEx
|