数据库

package com.example.day03_sqlite;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;

public class MainActivity extends ActionBarActivity {

private SQLiteDatabase database;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 得到MySQLiteOpenHelper对象
    MySQLiteOpenHelper helper = new MySQLiteOpenHelper(this);
    // 以读的方式打开数据库,得到SQLiteDatabase对象
    database = helper.getReadableDatabase();
}

// 插入
public void insert(View v) {
    for (int i = 0; i < 5; i++) {

        // 得到ContentValues,用于以键值对形式存值
        ContentValues values = new ContentValues();
        values.put("name", "张三" + i);
        values.put("sex", "女" + i);

        // 插入数据,
        // 参数一:表名
        // 参数二:当values参数为空或者里面没有内容的时候,就会将你指定的这个列名的值设为null,然后再向数据库中插入
        // 参数三:要插入的数据
        database.insert("student", null, values);
    }
}

// 删除
public void delete(View v) {

    // 参数一:表名
    // 参数二:删除条件
    // 参数三:删除条件里占位符对应的数据
    database.delete("student", "sex = ?", new String[] { "女" });

}

// 修改
public void update(View v) {

    // 参数一:表名
    // 参数二:修改后的数据
    // 参数三:修改条件
    // 参数四:修改条件里占位符对应的数据

    ContentValues values = new ContentValues();
    values.put("name", "李四");
    database.update("student", values, "name = ?", new String[] { "张三" });

}

// 查询
public void select(View v) {
    // 参数一:表名
    // 参数二:要查询的列名
    // 参数三:查询条件
    /*Table 表名 
    Columens 要返回的列
    Selection 查询条件
    selectionArgs 查询条件占位符对应的内容
    groupBy 分组判断条件
    Having 是否含有的判断条件
    orderBy  排序判断条件
    Limit  分页查询判断条件*/


    Cursor cursor = database.query("student", new String[] { "name", "sex" },
            "name like ? ", new String[] { "%张%" }, null, null, null);


    while (cursor.moveToNext()) {

        String name = cursor.getString(cursor.getColumnIndex("name"));
        String sex = cursor.getString(cursor.getColumnIndex("sex"));
        System.out.println("name=" +name+" sex="+sex);
    }


}

}
帮住类
package com.example.day03_sqlite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class MySQLiteOpenHelper extends SQLiteOpenHelper {

public MySQLiteOpenHelper(Context context) {
//设置数据库的名称和版本号  
    super(context, "1409L", null, 1);

}

// 数据库创建
@Override
public void onCreate(SQLiteDatabase db) {

    db.execSQL("create table student(id integer primary key autoincrement,name varchar(20), sex char(5))");

}

// 数据库升级,通过比对两个版本号的大小判断是否需要升级
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

改变哪一个表,要添加的字段
db.execSQL(“alter table student add age varchar(6)”);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值