今天我们学习了一款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中数据出现无法更新的情况,以及在主程序调用过程中,代码正常无误,却无法在虚拟机上运行程序的状况,经过老师和同学的帮助,这些问题都得到了解决,实验结果非常完美的呈现出来,我一定会继续努力学习这门课程,并且不断地在实践中锻炼自己的操作能力。
以下为本次实验效果截图