sq数据库增删改查

来源:互联网 发布:java jsonarray 类 编辑:程序博客网 时间:2024/06/07 13:57
public class MainActivity extends Activity {

    private ListView lv;
    private StudentDao sd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv=(ListView)findViewById(R.id.lv);
        sd = new StudentDao(this);
        
    }
    public void add(View v){
        sd.aa();
    }
    public void select(View v){
        List<Person> select = sd.select();
        lv.setAdapter(new ArrayAdapter<Person>(this, android.R.layout.simple_list_item_1, select));
    }

}

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

public class MyOpenHelper extends SQLiteOpenHelper {

    public MyOpenHelper(Context context) {
        super(context, "school3.db", null, 3);   //1  school3.db存在,onCreate不执行;  2 添加表
    }
    // 数据第一次创建的时候,onCreate才会执行
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table person (id integer primary key,sname varchar(20),sage int,sex varchar(2) not null)");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        switch (newVersion) {
        case 2:
            db.execSQL("create table teacher (id integer primary key,tname varchar(20),tage int,tsex varchar(2) not null)");
            db.execSQL("insert into teacher values (1,'张二龙老师',20,'男')");
            break;
        case 3:
            db.execSQL("alter table teacher add salary int default 1200");   //修改表结构   添加列

        default:
            break;
        }
    }

}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

public class StudentDao {
    MyOpenHelper mo;
    SQLiteDatabase db;  //db对象执行增删改查
    
    //获取OpenHelper
    public StudentDao(Context ctx){
        mo=new MyOpenHelper(ctx);
        db=mo.getWritableDatabase();
        
    }
    
    //固定的值
    public void aa() {
        // 添加数据
        db.execSQL("insert into person  values (null,'张三',12,'男')"); // insert
                                                                        // into
                                                                        // person
                                                                        // (要添加的列)
                                                                        // values
                                                                        // (列的值);
        db.execSQL("insert into person  values (null,?,?,?)", new Object[] {
                "李四", 20, "女" });

        // 内容值
        ContentValues values = new ContentValues();
        values.put("sname", "v张三");
        values.put("sage", 50);
        values.put("sex", "女");
        // 不用sql
        db.insert("person", null, values); // 底层封装sql语句 insert into person
        
        
    }
    /**
     * 查询
     * @return
     */
    public List<Person> select() {
        
        List<Person> ps = new ArrayList<Person>(); // size=0
        Cursor query = db.rawQuery("select * from person", null); // 执行查询,必须接受返回值
        while (query.moveToNext()) { // 指向一行数据---->一个java对象
            Person p = new Person(query.getInt(0), query.getString(1),
                    query.getInt(2), query.getString(3));
            ps.add(p);
        }
        //
        return ps;

    }
    
}

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

public class Person implements Serializable{
    
    private int id;
    private String sname;
    private int sage;
    private String sex;
    @Override
    public String toString() {
        return "Person [id=" + id + ", sname=" + sname + ", sage=" + sage
                + ", sex=" + sex + "]";
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getSname() {
        return sname;
    }
    public void setSname(String sname) {
        this.sname = sname;
    }
    public int getSage() {
        return sage;
    }
    public void setSage(int sage) {
        this.sage = sage;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public Person() {
        super();
    }
    public Person(int id, String sname, int sage, String sex) {
        super();
        this.id = id;
        this.sname = sname;
        this.sage = sage;
        this.sex = sex;
    }
    
    
    
    

}

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="add"
        android:text="添加" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="update"
        android:text="修改" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="del"
        android:text="删除" />
    
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="select"
        android:text="查询" />
    
    
    <ListView
        android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        
        
        
        ></ListView>

</LinearLayout>






原创粉丝点击