超级死人 发表于 2012-6-14 10:45:36

[已解决]求教SQLITE模糊查找问题.

本帖最后由 超级死人 于 2012-7-5 20:12 编辑

请教大大们,sqlite的模糊查找应该怎么做.

在sqlite管理器里面可以使用sql语句查询可以正常操作并且得到反馈信息.

但是用au3编写的时候,不论怎么修改语句都不能查找正确信息,或者说,当列值是纯数字的时候可以显示,有英文字母或者汉字的时候就不能查询...

请大大们指教...

水木子 发表于 2012-6-28 10:39:50

;===============================================================================
;
; 函数名称.........:    _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

超级死人 发表于 2012-7-5 20:11:36

感谢楼上...实在抱歉现在才回复..前段时间太忙了..立刻测试..
页: [1]
查看完整版本: [已解决]求教SQLITE模糊查找问题.