Android中SQList用法

一. 利用SQLiteDatabase操作数据库与表

  1. 学习目标:
  • 会创建连接数据库
  • 会数据库的增删改查
  1. 涉及知识点
  • 数据库(SQLiteDatabase)
  1. 实现步骤

    public class MainActivity extends Activity {
    //数据库名
    private static final String DATA_NAME_PREFIX =“account_number”;
    //访问模式
    private static final int MODE = Context.MODE_PRIVATE;
    //SQList数据库
    private SQLiteDatabase db;
    //账号密码
    private EditText Name,Password;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //数据库的名称模式等
    db=openOrCreateDatabase(DATA_NAME_PREFIX,MODE,null);
    //执行sql语句来创建数据库
    db.execSQL(“CREATE TABLE account_number(name char,password char)”);
    }
    }

除了直接执行SQL语句还可以直接用现成的方法
db.insert
db.delete
db.rawQuery
database.update
在一般情况下我们需要对数据库操作进行封装,所以常用SQLiteOpenHelper来对数据库进行操作
二. 利用SQLiteOpenHelper操作数据库与表

安卓实例

创建一个数据库类(DBhelper)

public class DBHelper extends SQLiteOpenHelper {
    public DBHelper(Context context, int version) {
        super(context, "persons", null, version);
    }
    **//当数据库创建时执行**
    @Override
    public void onCreate(SQLiteDatabase db) {
    	**//创建表**
        String sql="CREATE TABLE person (name varchar)";
        db.execSQL(sql);
        Log.e(TAG, "创建成功");
    }
    **//用于数据库升级时执行**
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}

//然后我们在主类MainActivity中new出DBhelper
public class MainActivity extends Activity {
private DBHelper dbHelper;
private SQLiteDatabase database;
private EditText editText,editText2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//new出数据库,(上下文,版本号)
dbHelper = new DBHelper(this,1);
}
public void doInsert(View view){
//创建数据库
database = dbHelper.getReadableDatabase();
//用ContentValues来放值
ContentValues values = new ContentValues();
String string=“张三”;
values.put(“name”,string);
//插入数据
database.insert(“person”, null, values);
Log.e(TAG, string);
}
//以此类推

public void doUpdate(View view){
    database = dbHelper.getReadableDatabase();
    ContentValues values2 = new ContentValues();
    String string=“张三”;
    String string2=“李四”;
    values2.put("name",string);
    database.update("person", values2, "name=?", new String[]{string2});
    database.execSQL("update student set  name = ? where name = ?",new Object[]{string2,string});
}

public void doDelete(View view){
    database = dbHelper.getReadableDatabase();
    ContentValues values3 = new ContentValues();
    String string="name="+editText.getText().toString();
    database.delete("person", string, null);
}

public void doQuery(View view){
    database = dbHelper.getReadableDatabase();
    Cursor cursor = database.query(false,"person", null, null,null,null,null,null,null);
    while (cursor.moveToNext()){
        String name = cursor.getString(0);
        Log.e(TAG, name);
    }
}
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值