2013-03-13 414 views
0

IM試圖讓行id其中標題等於我通過在串中選擇在Android的SQLite中的特定值。使用WHERE子句

IM在語法沙基漂亮,我一直在圍繞這個網站衝浪試圖找到Eclipse會喜歡的示例。通常它告訴我即將提供的論據是無效的,但我似乎無法理解它。我嘗試添加空值來填充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中不適用於參數(String,String [],String,String [])

回答

1

您需要將其更改爲:

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子句中,ARG遊戲將被替換,而不是?(這被稱爲佔位符)以相同的順序值。

+0

我認爲這是工作,我不能告訴還由於其他問題。儘管感謝您的幫助。 – lorless 2013-03-13 23:31:12

+0

@ user2066039歡迎您:) – Sajmon 2013-03-13 23:36:00

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

導致與以前一樣的錯誤,不匹配的參數 – lorless 2013-03-13 23:15:46