今天我們學習了一款SQLite數據庫,SQLite是一款輕型的數據庫,是遵守ACID的關聯式數據庫管理系統,它能夠支持Windows、Linux、Unix等主流操作系統,并且能夠跟很多程序語言相結合。
代碼建庫:在代碼中動態建立數據庫是比較常用的方法,在程序運行過程中,當需要進行數據庫操作時,應用程序會首先嘗試打開數據庫,此時如果數據庫并不存在,程序則會自動建立數據庫,然后再打開數據庫。
類(SQliteOpenHelpe):抽象類,也叫助手類,對數據庫的基本操作,因此只要調用這個類,就可以完成對數據庫的添加、更新、刪除和查詢等操作。
實驗步驟:
1、首先建立一個建立工程文件SQliteActivity,在本次試驗中有建立好的試驗包,直接用eclipse打開相關文件夾就可以;
2、在工程文件的src/com.fxc.sqlitetest目錄下創建新的java文件dataBasehelp
3、調用數據庫,在上述Java文件中輸入以下代碼。
public void onCreate(SQLiteDatabase db) {
String sql="create table person(pid integer primary key autoincrement,name varchar(50),password varchar(20))";
db.execSQL(sql);}
4、在主程序中調用databasehelp類進行數據庫創建(按鈕,編輯框,標簽等)
private dataBasehelp dBasehelp;
private Button insert,requue,updata,delateButton;
private EditText username,userpassword;
private TextView textview;
5、接下來進行數據庫的增刪改查操作,實現數據insert
insert(String table, String nullColumnHack, ContentValues values)
SQLiteDatabase sqLiteDatabase=dBasehelp.getWritableDatabase();
String name=username.getText().toString().trim();
String password=userpassword.getText().toString().trim();
ContentValues cValues=new ContentValues();
cValues.put("name", name);
cValues.put("password", password);
sqLiteDatabase.insert("person", null, cValues);
Toast.makeText(MainActivity.this, "用戶已注冊", 3000).show();
sqLiteDatabase.close();
6、接下來進行數據庫的增刪改查操作,實現數據query
SQLiteDatabase sqLiteDatabase=dBasehelp.getReadableDatabase();
Cursorcursor=sqLiteDatabase.query("person",new String[]{"name"},"name=?",new String[]{name},null,null,null);
注:不管你如何執行查詢,都會返回一個Cursor,這是 Android 的 SQLite 數據庫游標。
通過使用getCount() 方法得到結果集中有多少記錄;
通過moveToFirst(), moveToNext(), 和 isAfterLast() 方法遍歷所有記錄;
通過getColumnNames() 得到字段名;
通過getColumnIndex() 轉換成字段號;
通過getString(),getInt() 等方法得到給定字段當前記錄的值;
通過requery() 方法重新執行查詢得到游標;
通過close() 方法釋放游標資源;
7、接下來進行數據庫的增刪改查操作,實現數據delete
SQLiteDatabase sqLiteDatabase=dBasehelp.getWritableDatabase();
String name=username.getText().toString();
String password=userpassword.getText().toString();
sqLiteDatabase.delete("person","name=?andpassword=?",new String[]{name,password});
Toast.makeText(MainActivity.this, "用戶已刪除", 3000).show();
sqLiteDatabase.close();
通過這節課的學習,我學會了在eclipse中使用代碼創建數據庫,并且對數據庫進行數據添加,登錄,修改以及刪除,雖然在實驗操作的過程中遇到了一些困難,比如我的SQLiteExpertPers中數據出現無法更新的情況,以及在主程序調用過程中,代碼正常無誤,卻無法在虛擬機上運行程序的狀況,經過老師和同學的幫助,這些問題都得到了解決,實驗結果非常完美的呈現出來,我一定會繼續努力學習這門課程,并且不斷地在實踐中鍛煉自己的操作能力。
以下為本次實驗效果截圖