2012-02-04 115 views
2

我有下面的代碼來選擇一行..當我用getRecords(「彼得山姆」)調用函數;顯示一條記錄..但是,如果我只是通過getRecords(「Peter」);它說「沒有結果」。選擇查詢 - WebSQL

getRecords = function(cname){ 
     db.transaction(function(tx) { 
      tx.executeSql('SELECT * FROM contacts WHERE (cname LIKE ?)', [cname], renderResults); 
     }); 
    } 

「選擇」查詢中「LIKE」的正確用法是什麼?順便說一句,我在哪裏指WebSQL的SQL語法?

謝謝

回答

2

在transact SQL中,您可以使用%作爲通配符。 類似:

SELECT * FROM contacts WHERE cname LIKE ?% 

然而,的WebSQL已經停產了,所以我不使用這種方法建議。

+3

感謝您的答覆。下面的查詢爲我工作, SELECT * FROM contacts WHERE(cname LIKE?);',[「%」+ cname +「%」],renderResults 也建議我使用indexedDB而不是WebSQL?如果是這樣,indexedDB是在Android 2.3中支持的? – Naveen 2012-02-05 07:27:56

+0

很高興我能幫上忙;你能接受答案嗎?謝謝 – 2012-02-05 09:41:51

+0

yeaaah肯定..完成:) – Naveen 2012-04-23 06:15:20

0

使用字符串連接:

SELECT * FROM contacts WHERE cname LIKE '%' || ? || '%' 
3
getRecords = function(cname){ 
    db.transaction(function(tx) { 
     tx.executeSql('SELECT * FROM contacts WHERE (cname LIKE ?)', ['%'+cname+'%'], renderResults); 
    }); 
}