SQLite數據庫操作封裝

jopen 12年前發布 | 38K 次閱讀 SQLite 數據庫服務器

public class mydaHelper extends SQLiteOpenHelper{

//構造函數,這個是必須有的包括四個參數,分別是容器,數據庫的名字,CursorFactory暫時不用管,版本號

public mydaHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version);

}

// 自己寫的一個含有三個參數的構造函數,它其實就是調用上面的構造函數 public mydaHelper(Context context, String name, int version) { this(context, name, null, version);

}

//同樣這是自己寫的一個含有兩個參數的構造函數,來自于對上面的調用 public mydaHelper(Context context, String name) { this(context, name,1);

}

//創建數據庫時調用,會建立一個表 public void onCreate(SQLiteDatabase db) {

System.out.println("create database"); db.execSQL("create table user(id int,name text)"); }

//更新數據庫時被調用 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { System.out.println("update a Database");

}

}</pre>使用代碼:

public class Activity01 extends Activity {
private Button button1;
private Button button2;
private Button button3;
private Button button4;
private Button button5;
private TextView textview;
private EditText  editText1;
private EditText editText2;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

//實例化按鈕和文本以及編輯框 textview = (TextView) this.findViewById(R.id.textView1); button1 = (Button) this.findViewById(R.id.button1); button1.setText("create"); button2 =(Button) this.findViewById(R.id.button2); button2.setText("insert"); button3 =(Button) this.findViewById(R.id.button3); button4 =(Button) this.findViewById(R.id.button4); button3.setText("更新"); button4.setText("查詢"); button5 = (Button) this.findViewById(R.id.button5); editText1 = (EditText) this.findViewById(R.id.editText1); editText2 = (EditText) this.findViewById(R.id.editText2); editText1.setText(""); editText2.setText(""); editText1.setEnabled(true); editText2.setEnabled(true);

    button1.setOnClickListener(new Button.OnClickListener(){
     public void onClick(View v){

//調用SQLiteOpenHelper構造函數 mydaHelper dbh = new mydaHelper(Activity01.this,"my database");

//通過對mydaHelper的調用創建數據庫并來執行CreateTable方法創建一個user表 SQLiteDatabase db = dbh.getReadableDatabase(); } }); button2.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){

//通過ContentValues來向數據庫里寫數據 ContentValues contentValues = new ContentValues(); contentValues.put("id", editText1.getText().toString()); contentValues.put("name", editText2.getText().toString()); mydaHelper dbh = new mydaHelper(Activity01.this,"my database");

得到一個可寫入的數據庫 SQLiteDatabase db = dbh.getWritableDatabase();

將數據寫入 db.insert("user", null, contentValues); } }); button3.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ mydaHelper dbh= new mydaHelper(Activity01.this,"my database"); ContentValues contentValues = new ContentValues(); contentValues.put("name", editText2.getText().toString()); SQLiteDatabase db= dbh.getWritableDatabase();

更新數據庫通過"id=?",new String[]{editText1.getText().toString()}確定要更新的位置 db.update("user", contentValues, "id=?",new String[]{editText1.getText().toString()} ); } }); button4.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ String n = ""; mydaHelper dbh = new mydaHelper(Activity01.this,"my database"); SQLiteDatabase db= dbh.getReadableDatabase();

查詢數據庫幾個參數分別是數據庫的名字,要返回的內容,確定內容的標志比如id,標志內容,其他的不做介紹 Cursor cursor = db.query("user", null, null, null, null,null, null );

//通過指針的移動來確定是不是查詢完畢 while(cursor.moveToNext()){ 得到內容 int id = cursor.getInt(cursor.getColumnIndex("id")); String name = cursor.getString(cursor.getColumnIndex("name")); n += id+" : "+name+"\n";

     }
 顯示內容
     textview.setText(n);

    }
   });
   button5.setOnClickListener(new Button.OnClickListener(){
    public void onClick(View v){
     mydaHelper dbh = new mydaHelper(Activity01.this,"my database");
     SQLiteDatabase db = dbh.getWritableDatabase();

刪除表中的內容幾個參數分別是數據庫名字,要刪除的列,列的內容來確定那一列 db.delete("user", "id=?", new String[]{editText1.getText().toString()}); } }); } }</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!