-4
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DBNAME = "temp.sqlite";
public static String name;
public static final String DBLOCATION = "/data/data/my_packge_name/databases";
public Context mContext;
public SQLiteDatabase mDatabase;
public DatabaseHelper(Context context) {
    super(context,DBNAME,null,1);
    this.mContext=context;
}
@Override
public void onCreate(SQLiteDatabase db) {

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

public void openDatabase(){
    String dbPath = mContext.getDatabasePath(DBNAME).getPath();
    if( mDatabase != null && mDatabase.isOpen() ) {
        return;
    }
    mDatabase = SQLiteDatabase.openDatabase(dbPath, null, SQLiteDatabase.OPEN_READWRITE);

}


public String contentsLoad() {
    openDatabase();
    SQLiteDatabase mDB = mDatabase;
    int sls=1;
    Cursor cursor= mDB.rawQuery("SELECT * FROM my WHERE sl="+sls,null);
    name=new String(cursor.getString(1));
    closeDatabase();
    return name;
}


public void closeDatabase() {
    if (mDatabase!=null) {
        mDatabase.close();
    }
}

}

No data returns.

I thing The Error occured in contentsLoad() function below portion, But Exactly i don't know what is the error

    int sls=1;
    Cursor cursor= mDB.rawQuery("SELECT * FROM my WHERE sl="+sls,null);
    name=new String(cursor.getString(1));

I need return the name string. How is it possible?

An error occurs when I run this function and closed the app

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115

1 Answers1

2

Error occured in this lines .... Cursor cursor= mDB.rawQuery("SELECT * FROM my WHERE sl="+sls,null); name=new String(cursor.getString(1));

Before reading data from a cursor you need to place it on a valid row:

Cursor cursor= mDB.rawQuery("SELECT * FROM my WHERE sl="+sls,null);
if (cursor.moveToFirst()) {
    name=new String(cursor.getString(1));
}

That would be one reason for the code to crash there. There may be others; start debugging with the stacktrace. Include the stacktrace in questions like this, too.

laalto
  • 150,114
  • 66
  • 286
  • 303