自动完成搜索flex移动

时间:2013-06-30 21:20:09

标签: flex coldfusion flash-builder

我正在使用ColdFusion开发Flash Builder \ Flex Mobile应用程序。我需要帮助来修复我的搜索功能。当我尝试搜索某些内容时,我必须输入确切的单词,否则它不返回任何内容。

enter image description here

如果我只键入"app",而不是"applet",则不返回任何内容。

搜索功能:

<cffunction name="getwordsSummaryByTerm" output="false" access="remote"  returntype="Query" > 
    <cfargument name="searchStr" type="string"  required="true" /> 
    <cfset var qItem=""> 
    <cfquery name="qItem" datasource="databaseyo">
        SELECT * 
       FROM words 
       WHERE term = <CFQUERYPARAM CFSQLTYPE="CF_SQL_VARCHAR" VALUE="#ARGUMENTS.searchStr#"> 
    </cfquery> 
     <cfreturn qItem> 
</cffunction> 

Flex代码:

protected function doSearch(event:MouseEvent):void
{
    if(searchTerm.text!="")
    { 
        getAllwordsResult.token = wordsService.getwordsSummaryByTerm(searchTerm.text); 
    } 
    else
    { 
        getAllwordsResult.token = wordsService.getAllwords(); 
    } 
}

1 个答案:

答案 0 :(得分:5)

尝试更新您的查询,以便搜索LIKE值而不是特定的EQUALS值。

SELECT * 
FROM words 
WHERE term LIKE <CFQUERYPARAM CFSQLTYPE="CF_SQL_VARCHAR" VALUE="%#ARGUMENTS.searchStr#%">

注意现在回绕查询参数值的“%”。

如果你想设置它,那么输入的内容将返回以相同方式开头的单词(即输入“app”返回“applet”和“apple”,但不是“dapple”)然后只删除第一个“ %“来自参数值。