SQLite简单使用
1.首先继承了一个数据库的助手类LoginDBHelper
代码如下:
1 package com.ll.copyqqui; 2 import android.content.Context; 3 import android.database.sqlite.SQLiteDatabase; 4 import android.database.sqlite.SQLiteOpenHelper; 5 import android.database.sqlite.SQLiteDatabase.CursorFactory; 6 7 8 public class LoginDBHelper extends SQLiteOpenHelper { 9 public static final int VERSION = 1; 10 LoginDBHelper(Context context, String name, CursorFactory factory,int version){ 11 super(context, name, factory, VERSION); 12 } 13 14 // 这个地方是创建数据的时候调用 15 @Override 16 public void onCreate(SQLiteDatabase db) { 17 // TODO Auto-generated method stub 18 // 创建注册表 19 String sql = "create table user_table(uname varchar(32) primary key, " + 20 "upassword varchar(32));"; 21 db.execSQL(sql); 22 } 23 24 @Override 25 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 26 // TODO Auto-generated method stub 27 } 28 }
2.定义了一个User的类,里面包含了用户的用户名和密码
1 package com.ll.copyqqui; 2 3 public class User { 4 5 private String userName = null; 6 private String userPass = null; 7 8 User(){ 9 10 } 11 12 User(String userName, String userPass){ 13 this.userName = userName; 14 this.userPass = userPass; 15 } 16 17 void setUserName(String userName){ 18 this.userName = userName; 19 } 20 21 void setUserPass(String userPass){ 22 this.userPass = userPass; 23 } 24 25 String getUserName(){ 26 return userName; 27 } 28 29 String getUserPass(){ 30 return userPass; 31 } 32 33 }
3.定义了一个操作数据表user_table的类UserDao,代码如下:
添加用户到用户表:
1 // 添加用户到用户表 2 public boolean addUser(User user){ 3 if(user.getUserName().equals("") || user.getUserPass().equals("")){ 4 return false; 5 } 6 LoginDBHelper dbHelper = new LoginDBHelper(context,"user_db", null, 1); 7 SQLiteDatabase db = dbHelper.getWritableDatabase(); 8 ContentValues cv = new ContentValues(); 9 cv.put("uname", user.getUserName()); 10 cv.put("upassword", user.getUserPass()); 11 db.insert(tbName, null, cv); 12 db.close(); 13 return true; 14 }
删除用户:
1 // 删除用户 2 public boolean deleteUser(User user){ 3 if(isUserExist(user)){ 4 return false; 5 } 6 LoginDBHelper dbHelper = new LoginDBHelper(context, "user_db", null, 1); 7 // 得到一个可写的数据库 8 SQLiteDatabase db = dbHelper.getWritableDatabase(); 9 // 删除的条件 10 String whereClause = "uname=?"; 11 String[] whereArgs = {user.getUserName()}; 12 // 调用delete方法,删除数据 13 db.delete(tbName, whereClause, whereArgs); 14 return true; 15 }
更改用户密码:
1 // 改用户密码 2 public boolean updateUserPass(User user){ 3 if(isUserExist(user) == false){ 4 return false; 5 } 6 LoginDBHelper dbHelper = new LoginDBHelper(context,"user_db", null, 1); 7 SQLiteDatabase db = dbHelper.getWritableDatabase(); 8 ContentValues cv = new ContentValues(); 9 cv.put("upassword", user.getUserPass()); 10 String whereClause = "uname=?"; 11 String[] whereArgs = {String.valueOf(user.getUserPass())}; 12 db.update(tbName, cv, whereClause, whereArgs); 13 return true; 14 }
查询用户表
1 // 判断用户是否存在 2 public boolean isUserExist(User user){ 3 // 1.当输入的用户名为空的时候,直接返回不存在false 4 if(user.getUserName().equals("")){ 5 return false; 6 } 7 LoginDBHelper dbHelper = new LoginDBHelper(context,"user_db", null, 1); 8 SQLiteDatabase db = dbHelper.getReadableDatabase(); 9 // 2.查询 10 Cursor cursor = db.query(tbName, new String[]{"uname","upassword"}, 11 null, null, null, null, null); 12 boolean exist = false; 13 while(cursor.moveToNext()){ 14 String uname = cursor.getString(cursor.getColumnIndex("uname")); 15 //String upassword = cursor.getString(cursor.getColumnIndex("upassword")); 16 if(user.getUserName().equals(uname)){ 17 exist = true; 18 break; 19 } 20 } 21 db.close(); 22 return exist; 23 }
4.当然怎么使用LoginDBHelper更加重要啦,首先创建数据库
// 创建数据库
new LoginDBHelper(MainActivity.this, "user_db", null, 1);
再定义一个UserDao的对象,然后调用UserDao里面的方法,就可以对数据表进行操作啦。
浙公网安备 33010602011771号