我已經從EditText取得了String值。和一個提交查詢的按鈕。Android SQLite查詢(我想解析一般的Sql查詢)
String sql=editQuery.getText().toString();// SELECT * FROM employees
StringBuffer finalDataq=new StringBuffer();
Cursor cur = dbHelper.rawsqlquery(sql);
for(cur.moveToFirst();!cur.isAfterLast();cur.moveToNext()) {
finalDataq.append(cur.getInt(cur.getColumnIndex(MyDBHelper.ID)));
finalDataq.append(" - ");
finalDataq.append(cur.getString(cur.getColumnIndex(MyDBHelper.FIRST_NAME)));
finalDataq.append(" - ");
finalDataq.append(cur.getString(cur.getColumnIndex(MyDBHelper.LAST_NAME)));
finalDataq.append(" - ");
finalDataq.append(cur.getString(cur.getColumnIndex(MyDBHelper.ADDRESS)));
finalDataq.append(" - ");
finalDataq.append(cur.getDouble(cur.getColumnIndex(MyDBHelper.SALARY)));
finalDataq.append("\n");
}
submittedQuery.setText(finalDataq);
我rawsqlquery()
功能 -
public Cursor rawsqlquery(String sql) {
return myDB.rawQuery(sql,null);
}
它給我正確的結果。例如,當我從table_name寫入select *時,它返回表中的所有行。
但我想選擇特定的列,我不知道如何去做。我想在editext中編寫我的查詢,並直接想要編譯並得到結果它將返回光標對象(如果我沒有錯) 。那麼如何選擇列名來顯示我的結果,因爲列名是在editText中編寫的。 爲如:SELECT ID,FNAME從員工
預先感謝您
如果有人不明白,那麼我將在註釋中解釋 –
這件事是rawquery wriiten光標對象。如果我想顯示所有列然後它會很容易,但在edittext我怎麼知道哪列顯示。某人幫助這個? –
嘗試'String [] names = cursor.getColumnNames();'然後只獲取這些列的值。 – ELITE