[已解决]求教SQLITE模糊查找问题.
本帖最后由 超级死人 于 2012-7-5 20:12 编辑请教大大们,sqlite的模糊查找应该怎么做.
在sqlite管理器里面可以使用sql语句查询可以正常操作并且得到反馈信息.
但是用au3编写的时候,不论怎么修改语句都不能查找正确信息,或者说,当列值是纯数字的时候可以显示,有英文字母或者汉字的时候就不能查询...
请大大们指教... ;===============================================================================
;
; 函数名称.........: _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 感谢楼上...实在抱歉现在才回复..前段时间太忙了..立刻测试..
页:
[1]