您的位置:首页 > 数据库

SQLite简单使用

2015-11-01 16:25 323 查看

1.首先继承了一个数据库的助手类LoginDBHelper

    代码如下:

package com.ll.copyqqui;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

public class LoginDBHelper extends SQLiteOpenHelper {
public static final int VERSION = 1;
LoginDBHelper(Context context, String name, CursorFactory factory,int version){
super(context, name, factory, VERSION);
}

// 这个地方是创建数据的时候调用
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
// 创建注册表
String sql = "create table user_table(uname varchar(32) primary key, " +
"upassword varchar(32));";
db.execSQL(sql);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}

 

2.定义了一个User的类,里面包含了用户的用户名和密码

package com.ll.copyqqui;

public class User {

private String userName = null;
private String userPass = null;

User(){

}

User(String userName, String userPass){
this.userName = userName;
this.userPass = userPass;
}

void setUserName(String userName){
this.userName = userName;
}

void setUserPass(String userPass){
this.userPass = userPass;
}

String getUserName(){
return userName;
}

String getUserPass(){
return userPass;
}

}

 

3.定义了一个操作数据表user_table的类UserDao,代码如下:

     添加用户到用户表:

// 添加用户到用户表
public boolean addUser(User user){
if(user.getUserName().equals("") || user.getUserPass().equals("")){
return false;
}
LoginDBHelper dbHelper = new LoginDBHelper(context,"user_db", null, 1);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("uname", user.getUserName());
cv.put("upassword", user.getUserPass());
db.insert(tbName, null, cv);
db.close();
return true;
}

  删除用户:

// 删除用户
public boolean deleteUser(User user){
if(isUserExist(user)){
return false;
}
LoginDBHelper dbHelper = new LoginDBHelper(context, "user_db", null, 1);
// 得到一个可写的数据库
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 删除的条件
String whereClause = "uname=?";
String[] whereArgs = {user.getUserName()};
// 调用delete方法,删除数据
db.delete(tbName, whereClause, whereArgs);
return true;
}

  更改用户密码:

// 改用户密码
public boolean updateUserPass(User user){
if(isUserExist(user) == false){
return false;
}
LoginDBHelper dbHelper = new LoginDBHelper(context,"user_db", null, 1);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("upassword", user.getUserPass());
String whereClause = "uname=?";
String[] whereArgs = {String.valueOf(user.getUserPass())};
db.update(tbName, cv, whereClause, whereArgs);
return true;
}

  查询用户表

// 判断用户是否存在
public boolean isUserExist(User user){
// 1.当输入的用户名为空的时候,直接返回不存在false
if(user.getUserName().equals("")){
return false;
}
LoginDBHelper dbHelper = new LoginDBHelper(context,"user_db", null, 1);
SQLiteDatabase db = dbHelper.getReadableDatabase();
// 2.查询
Cursor cursor = db.query(tbName, new String[]{"uname","upassword"},
null, null, null, null, null);
boolean exist = false;
while(cursor.moveToNext()){
String uname = cursor.getString(cursor.getColumnIndex("uname"));
//String upassword = cursor.getString(cursor.getColumnIndex("upassword"));
if(user.getUserName().equals(uname)){
exist = true;
break;
}
}
db.close();
return exist;
}

 

4.当然怎么使用LoginDBHelper更加重要啦,首先创建数据库

 // 创建数据库

 new LoginDBHelper(MainActivity.this, "user_db", null, 1);

再定义一个UserDao的对象,然后调用UserDao里面的方法,就可以对数据表进行操作啦。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: