如何在android中使用rawQuery

我有一个包含3列的数据库表:id,name,permission。

它看起来像这样:

1漫画的乐趣

2沟通谈话

3漫画手表

我试图获得名称是漫画的权限。 我在我的数据库类(AppData.java)中使用以下代码:

private final static String DB_NAME = "safety_app_database"; // the name of our database
private final static int DB_VERSION = 1; // the version of the database

// the names for our database columns
private final String TABLE_NAME = "permissions_table";
private final String ID = "id";
private final String NAME = "name";
private final String PERMISSION = "permission";

和方法

public Cursor getData(){
        return db.rawQuery("SELECT permission FROM permissions_table WHERE name = 'Comics', null);
    }

我在我的主类(safety.java)中调用它。 AppData引用AppData.java

appData.getData();

这是做到这一点的正确方法吗? 我不确定,每当我尝试调用sql查询时它都会给我一个错误。


一个错字错误,你没有关闭sql字符串" 。试试这个。

return db.rawQuery("SELECT permission FROM permissions_table WHERE name = 'Comics' ", null);

[编辑:JAR属于'Android 2.2',不允许修改其条目上的源附件]

该类文件的Jar会触发容器Android 2.0.1,该容器不允许修改


不需要原始查询。 你可以使用推荐的SQLiteDatabase查询方法之一,它看起来像这样:

db.query("permissions_table", new String [] {permission}, "name = 'Comics'", null, null, null, null);

尝试以下方法:

public Cursor getData(String arg) {
   return db.rawQuery("SELECT permission FROM `permissions_table` WHERE name ="+arg, null);
}

然后,用这个正确的参数调用上面的方法:

Cursor cursor;

cursor  =  getData ( "Comic" );
链接地址: http://www.djcxy.com/p/52083.html

上一篇: how to use rawQuery in android

下一篇: C++ proxy class