2014-09-03 76 views
0

我試圖查詢我的sqlite數據庫時使用WHERE子句。我知道在db中有數據,我應該能夠根據查詢中的條件檢索數據,但似乎無法使其工作。sqlite - 無法查詢與WHERE子句的網頁數據庫

當我查詢無條件語句...

sql = 'select LocationGUID, ID, Fullname FROM tblUser'; 

我能夠從選定列中返回的所有數據。這是一個引號問題嗎?我試過單精度和雙引號的條件值,但我行返回的人數仍然爲0。

的Javascript:

sql = 'select LocationGUID, ID, Fullname FROM tblUser WHERE UserName=\'mike\' AND Password=\'mike123\''; 

mydb = getDBConn(); 
mydb.transaction(function(tx) {tx.executeSql(sql, [], function(tx,results) { 
var size = results.rows.length; 

console.log(size); 

for (var i=0;i<size;i++) { 
    for (var key in results.rows.item(0)){ 
     var row = results.rows.item(i); 
     console.log(row[key]); 
    } 
} 

的SQLite數據庫

enter image description here

+0

什麼是'SELECT用戶名的typeof(用戶名),十六進制(用戶名)從tblUser'輸出此行? – 2014-09-03 17:09:59

+0

mike text 6D696B6520202020202020202020202020202020 – 2014-09-03 17:20:23

回答

1

正確查詢找到這一行應該是這樣的:

SELECT ... FROM tblUser WHERE UserName = 'mike    ' AND ... 

你可能需要更改存儲數據的代碼以刪除這些不需要的空間。

要修復數據庫,使用這樣的:

UPDATE tblUser SET UserName = rtrim(UserName) 
+0

這工作完美,謝謝!我嘗試雙擊UserName和Password值來查看是否有任何空的空間,但沒有任何事情是用藍色點亮的。 SELECT hex()查詢效果很好,我將不得不記住它。 – 2014-09-03 18:32:11