編輯:關於Android編程
由於考慮到數據庫的安全性,不被輕易SQL注入,執行查詢語句時,一般不使用直接拼接的語句,而是使用參數傳遞的方法。然後在使用參數傳遞的方法中時,發現當使用like方式查詢數據時,很容易出現一個問題。
錯誤案例:
復制代碼 代碼如下:String myname = "abc";
String sql = "select * from mytable where name like '?%'";
Cursor cursor = db.rawQuery(sql, new String[]{myname};
運行提示如下錯誤:
復制代碼 代碼如下:java.lang.IllegalArgumentException: Cannot bind argument at index 1 because the index is out of range. The statement has 0 parameters.
根據錯誤提示可知,sql語句中的?號沒有被識別出來,從而new String[]{myname}沒法替代sql中的?號。?號沒有被識別出來的原因估計是?號外有單引號,但是在sql中like語句的值和%號需要用引號圍著。
為了解決sql中?號無法識別,必須去掉?號外的引號,那麼%號也需要去掉。所以,得在後面代替?號的參數中添加上%號。
所以,正確的案例如下:
復制代碼 代碼如下:
String myname = "abc";
String sql = "select * from mytable where name like ?";
Cursor cursor = db.rawQuery(sql, new String[]{myname+"%"};
可能有人會問為什麼不用添加引號,因為參數代替?號時,自動以字符串的形式代替的。
下面是HTC官方的一個圖片,展示了Android系統從發布最終到用戶手中的一個完整的過程: Awesome Infographic: HTC Shows Us “Th
RxJava的簡單使用基本上也了解了,其實還有一個比較好玩的就是java8才有的lambda了。lambda在android studio下的環境搭建下載java8下面就
首先我們來對這三種消息提示機制來一個直觀的認識,分別是AlertDialog Toast、Notification接下來分別介紹這三種機制各自對應的使用場景
本文實例講述了Android實現跑馬燈效果的方法。分享給大家供大家參考。具體如下:運行效果截圖如下:直接在布局裡寫代碼就好了:<TextView android