2013-03-13 246 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