Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从sqlite数据库访问数据?_Java_Android_Sqlite - Fatal编程技术网

Java 如何从sqlite数据库访问数据?

Java 如何从sqlite数据库访问数据?,java,android,sqlite,Java,Android,Sqlite,我正在尝试访问存储在sqlite数据库中的数据。我正在尝试使用游标访问数据。我编写了函数getInformation()来访问数据。我的问题是,当我尝试调用此函数时,它会抛出java.lang.NullPointerException错误。我不知道为什么会这样做。有人能帮我解决此错误吗 E/AndroidRuntime:致命异常:主进程:com.edkul.vimal.edkul,PID:2006 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“an

我正在尝试访问存储在sqlite数据库中的数据。我正在尝试使用游标访问数据。我编写了函数getInformation()来访问数据。我的问题是,当我尝试调用此函数时,它会抛出java.lang.NullPointerException错误。我不知道为什么会这样做。有人能帮我解决此错误吗

E/AndroidRuntime:致命异常:主进程:com.edkul.vimal.edkul,PID:2006 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.database.Cursor com.edkul.vimal.edkul.DatabaseHandler.getInformation(com.edkul.vimal.edkul.DatabaseHandler)”

下面是我从数据库获取数据的函数:

<pre><code>
    public Cursor getInformation(DatabaseHandler db){
    SQLiteDatabase sq = db.getWritableDatabase();
    String[] columnNames ={"StudentName","StudentEmail","StudentPassword",        
    "StudentConfirmPassword","InstituteName","ContactInfo"};
    String tableName = "StudentRecords";
    Cursor cr = sq.query(tableName,columnNames,null,null,null,null,null);
    return cr;
    }

</code></pre>
try
    {
        AndroidOpenDbHelper queryDbHelperObj = new AndroidOpenDbHelper(this);
        SQLiteDatabase sqLiteDatabase = queryDbHelperObj.getReadableDatabase();
        Cursor cursor = sqLiteDatabase.rawQuery(SQL_SELECT_QUERY,null);

        if(cursor != null)
        {
            if(cursor.moveToFirst())
            {
                do
                {
                    String OriginDB = cursor.getString(cursor.getColumnIndex("Origin"));
                    String DestinationDB = cursor.getString(cursor.getColumnIndex("Destination"));

                }while(cursor.moveToNext());
            }
        }
    }
    catch(Exception err)
    {
        err.printStackTrace();
    }
我试图调用此函数的部分代码:


您可以通过这种方式访问SQLite数据库中的数据--


希望这有帮助

什么是
dbHandler
?你在什么地方初始化过吗?我没有看到。谢谢你的回复。我已经编写了一个类名DatabaseHandler,在这里我编写了所有函数,比如创建表、删除表、向表中添加数据以及从表中获取数据。dbhandler是DatabaseHandler类型变量,可以访问所有函数。
dbhandler
为NULL,这就是为什么会出现此异常。无论如何,我也给了你一个答案。希望这对你有帮助。谢谢!!我会试试。@vimal mishra——一旦你实施了这个,请告诉我们。:)谢谢谢谢@Saumik它真的解决了我的问题。非常感谢
try
    {
        AndroidOpenDbHelper queryDbHelperObj = new AndroidOpenDbHelper(this);
        SQLiteDatabase sqLiteDatabase = queryDbHelperObj.getReadableDatabase();
        Cursor cursor = sqLiteDatabase.rawQuery(SQL_SELECT_QUERY,null);

        if(cursor != null)
        {
            if(cursor.moveToFirst())
            {
                do
                {
                    String OriginDB = cursor.getString(cursor.getColumnIndex("Origin"));
                    String DestinationDB = cursor.getString(cursor.getColumnIndex("Destination"));

                }while(cursor.moveToNext());
            }
        }
    }
    catch(Exception err)
    {
        err.printStackTrace();
    }