簡體   English   中英

使用WHERE子句在Android中選擇SQLite中的特定值

[英]Selecting specific values in SQLite in Android using the WHERE clause

即時通訊試圖獲取行ID,其中標題等於我傳入的字符串。

我在語法上非常動搖,我一直在這個站點上沖浪,試圖找到Eclipse想要的示例。 通常它告訴我,im提供的參數無效,但我似乎無法理解。 我嘗試添加null來填充其他參數,例如groupBy,但它一直告訴我參數是錯誤的。

這是我的代碼

private String[] folderID = {MySQLiteHelper.COLUMN_FOLDERID};
private String[] folderTitle = {MySQLiteHelper.COLUMN_FOLDERNAME};


public Cursor findFolderId(String i){
String[] select = {i + "=" + folderTitle};
Cursor cursor = database.query(MySQLiteHelper.TABLE_FOLDERS, folderID, "WHERE", select);
return cursor;

編輯:

這是典型的錯誤

SQLiteDatabase類型的方法query(String,String [],String,String [],String,String,String)不適用於參數(String,String [],String,String [])

您需要將其更改為:

String[] columns = {"Column1", "Column2"}; // columns to select
String selection = "someCol = ?";
String[] args = {i}; // value added into where clause --> column = i
Cursor c = database.query(TABLE, columns, selection, args, null, null, null);

通常,列是要獲取的列,選擇等同於where子句,args是將代替而不是?? (稱為占位符),順序相同。

public Cursor findFolderId(String i){
String[] select = {i};
Cursor cursor = database.query(MySQLiteHelper.TABLE_FOLDERS, folderID, folderTitle + "=?", select);
return cursor;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM