2013-10-15 60 views
1

我正在開發移動應用程序,其中我已經使用WebSql作爲本地數據庫。現在,我正在創建一個搜索功能,當用戶搜索記錄時,我想逃離「_」。我嘗試使用MS-SQL方法通過使其在方括號「[_]」轉義在Web Sql下劃線

下面是我的代碼示例

if ($.trim($('#txtPolicy').val()).length > 0) { 
     policy = $.trim($('#txtPolicy').val()); 

     if (policy.indexOf("_") >= 0) 
      policy = policy.replace(/_/g, "[_]"); 

     query += " ("; 
     var arrploicy = policy.split(','); 
     for (var j = 0; j < arrploicy.length; j++) { 
      query += " policy like ? or "; 
      arr[i] = "%" + arrploicy[j] + "%"; 
      ++i; 
     } 
     query = query.substring(0, query.length - 3); 
     query += ") "; 
    } 

我有一個記錄,其具有的數據作爲1234_456789。但它不會返回任何記錄,可能是因爲它可能將其視爲字符串。

回答

0

您可以使用參數化查詢而不用重新轉義。它也更安全。

+0

WEBSQL將數組作爲其輸入參數,爲此我在上面的代碼中創建動態數組「arr [i]」,然後將其作爲tx.executeSql(query,arr,function(tx,results){} –

+0

另外,你可以請分享一個基本的代碼 –

+0

你可以循環'tx.executeSql' –