0
我的代碼有問題。我在android sqlite中創建了2個表,我喜歡使用AlertDialog顯示數據庫中的數據,但是當我單擊視圖按鈕時,它將返回到上一個活動。請檢查我的代碼。謝謝android:顯示數據從sqlite到AlertDialog
我DatabaseHelper:
private static final String TABLE_CREATE_QUIZ = "create table quiz (QUIZ_ID integer primary key not null ,"+
"question text not null, answer1 text not null, answer2 text not null, answer3 text not null, answer4 text not null);";
public DatabaseHelper(Context context)
{
super(context , DATABASE_NAME , null , DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE);
db.execSQL(TABLE_CREATE_QUIZ);
this.db = db;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String query = "DROP TABLE IF EXISTS "+TABLE_NAME;
String query1 = "DROP TABLE IF EXISTS "+TABLE_CREATE_QUIZ;
db.execSQL(query);
db.execSQL(query1);
this.onCreate(db);
}
public void insertContact(Contact c) {
db = this.getWritableDatabase();
ContentValues values = new ContentValues();
String query = "select * from contacts";
Cursor cursor = db.rawQuery(query , null);
int count = cursor.getCount();
values.put(COLUMN_ID , count);
values.put(COLUMN_NAME , c.getName());
values.put(COLUMN_EMAIL , c.getEmail());
values.put(COLUMN_UNAME, c.getUname());
values.put(COLUMN_PASS, c.getPass());
db.insert(TABLE_NAME, null, values);
db.close();
}
public boolean insertQuest(String question, String answer1, String answer2, String answer3, String answer4){
db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
String query1 = "select * from quiz";
Cursor cursor = db.rawQuery(query1 , null);
int count = cursor.getCount();
contentValues.put(COLUMN_QUIZ_ID, count);
contentValues.put(COLUMN_QUESTION, question);
contentValues.put(COLUMN_ANSWER1, answer1);
contentValues.put(COLUMN_ANSWER2, answer2);
contentValues.put(COLUMN_ANSWER3, answer3);
contentValues.put(COLUMN_ANSWER4, answer4);
long result = db.insert(TABLE_QUIZ, null, contentValues);
if(result == -1)
return false;
else
return true;
}
public Cursor getAllData(){
db = this.getWritableDatabase();
Cursor res = db.rawQuery("select * from"+TABLE_QUIZ,null);
return res;
}
我查看代碼:
public void viewAll(){
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor res = helper.getAllData();
if(res.getCount()== 0){
showMessage("Error","Nothing found");
return;
}
StringBuffer buffer = new StringBuffer();
while (res.moveToNext()){
buffer.append("Id:"+ res.getString(0)+"\n");
buffer.append("Question:"+ res.getString(1)+"\n");
buffer.append("Answer1:"+ res.getString(2)+"\n");
buffer.append("Answer2:"+ res.getString(3)+"\n");
buffer.append("Answer3:"+ res.getString(4)+"\n");
buffer.append("Answer4:"+ res.getString(5)+"\n\n");
}
showMessage("Data",buffer.toString());
}
});
}
public void showMessage(String title, String Message){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(true);
builder.setTitle(title);
builder.setMessage(Message);
builder.show();
}
謝謝你sir cricket_007 –
這是否解決了你的問題? –
是的,先生,非常感謝你 –