Android 读取Sqlite数据库时获取NullPointerException

Android 读取Sqlite数据库时获取NullPointerException,android,sqlite,Android,Sqlite,我必须从SQLite数据库中读取值,但在执行时得到NullPointerException private final String DB_NAME = "UserDb"; private final String TABLE_NAMES = "tbluser"; SQLiteDatabase sampleDB; Cursor c=null; String deviceDec; c= sampleDB.rawQuery("SELECT * from "

我必须从SQLite数据库中读取值,但在执行时得到
NullPointerException

   private final String DB_NAME = "UserDb";
   private final String TABLE_NAMES = "tbluser"; 
   SQLiteDatabase sampleDB;
   Cursor c=null;
   String deviceDec;  
   c= sampleDB.rawQuery("SELECT * from " +TABLE_NAMES+" where did='"+deviceDec+"' ",null);

请告诉我为什么我会得到异常,因为在一个函数中它正在运行,而在另一个函数中它没有运行,而且我也会得到我在日志中签入的deviceDec值。

可能是您的
sampleDB为空

首先,你要初始化这个对象,就像

SQLiteDatabase sampleDB = new SQLiteDatabase(Your Param);

您需要启动数据库

SQLiteDatabase sampleDB=context.getReadableDatabase();

先打开数据库,然后再从中选择数据

public SQLiteDatabase openDataBase() throws SQLException {
    String myPath = DB_PATH + DB_NAME;
    myDataBase = SQLiteDatabase.openDatabase(myPath, null,
            SQLiteDatabase.OPEN_READWRITE);

    return myDataBase;
}
这将返回Database。。然后使用
returnedDb.rawQuery(“”)

请粘贴您的表结构。这就是我如何创建数据库sampleDB.execSQL(“创建表如果不存在”+表名称+“(id整数主键,did文本,idate日期,edate日期)”);sampleDB.execSQL(“插入到“+TABLE_NAME+”(did、idate、edate)值(“+IMEI+”、“+fDate+”、“+feDate+”);”);但问题是,在我创建数据库的活动中,数据库是工作文件,但在其他活动中,我必须在那里读取数据库,它抛出空指针异常