連線資料庫SQLite查詢一筆資料,方法2:使用SQLiteDatabase物件語法:db.query 注意:整個事件程式碼都必須放在 onCreate() { } 下面 // Button元件的事件處理 - 查詢記錄 public void button1_Click(View view) { String[] colNames=new String[]{"欄位1","欄位2","欄位3"}; String str = ""; Cursor c = db.query(DATABASE_TABLE, colNames,null, null, null, null,null); // 顯示欄位名稱 for (int i = 0; i < colNames.length; i++) str += colNames[i] + "\t\t"; str += "\n"; c.moveToFirst(); // 第1筆 // 顯示欄位值 for (int i = 0; i < c.getCount(); i++) { str += c.getString(c.getColumnIndex(colNames[0])) + "\t\t"; str += c.getString(1) + "\t\t"; //第2欄位 str += c.getString(2) + "\t\t";//第3欄位 //.............如果還要顯示其它欄位,就要再複製上面一行 c.moveToNext(); // 下一筆 } output.setText(str.toString()); } //end of button1_Click() .......................... 範例: import android.view.*; import android.widget.*; import android.content.ContentValues; import android.database.Cursor; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class MainActivity extends Activity { private SQLiteDatabase db; private MyDBHelper dbHelper; private static String DATABASE_TABLE = "資料表名稱";' private EditText ed1,ed2,ed3; private TextView output; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 建立SQLiteOpenHelper物件 dbHelper = new MyDBHelper(this); db = dbHelper.getWritableDatabase(); // 開啟資料庫 // 取得TextView元件 output = (TextView) findViewById(R.id.textView4); }//end of onCreate() // Button元件的事件處理 - 查詢記錄 public void button1_Click(View view) { String[] colNames=new String[]{"欄位1","欄位2","欄位3"}; String str = ""; Cursor c = db.query(DATABASE_TABLE, colNames,null, null, null, null,null); // 顯示欄位名稱 for (int i = 0; i < colNames.length; i++) str += colNames[i] + "\t\t"; str += "\n"; c.moveToFirst(); // 第1筆 // 顯示欄位值 for (int i = 0; i < c.getCount(); i++) { str += c.getString(c.getColumnIndex(colNames[0])) + "\t\t"; str += c.getString(1) + "\t\t"; //第2欄位 str += c.getString(2) + "\t\t";//第3欄位 //.............如果還要顯示其它欄位,就要再複製上面一行 c.moveToNext(); // 下一筆 } output.setText(str.toString()); } //end of button1_Click() //連線資料庫SQLite,新增資料表 public class MyDBHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "資料庫名稱"; private static final int DATABASE_VERSION = 1; public MyDBHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { //新增資料表 //資料表名稱與欄位名稱,不要用中文名稱 db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (_id integer primary key autoincrement, " + "name text no null, price real no null, num real no null)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE ); onCreate(db); } } //end of MyDBHelper extends SQLiteOpenHelper ()