SQLite数据库对数据的基本操作(一)

来源:互联网 发布:java多线程 无等待 编辑:程序博客网 时间:2024/05/21 06:54

1.新建MySQLiteOpenHelper 类,继承SQLiteOpenHelper

/** * 创建类,继承SQLiteOpenHelper抽象类,重写方法 * */public class MySqliteDataBase extends SQLiteOpenHelper {    /**     * Context context,      * String name,数据库的名字,通常写成XXX.db     * CursorFactory factory, 游标工厂,可以理解成是一个结果的集合,通常只能传null,系统会使用默认的游标工厂     * int version:要创建的或者要打开的数据库的版本,注意,版本只能++,此操作是不可逆的     * */    public MySqliteDataBase(Context context,int version) {        super(context, "goods.db", null, version);    }    /**     * 数据库被创建时,回调此方法,在此方法中做创建表的操作     *      * */    public void onCreate(SQLiteDatabase db) {    db.execSQL("create table good(id integer primary key autoincrement ,name varchar(20), price varchar(20))");        Log.i("myTag", "数据库被创建时,onCreate方法被调用");    }    /**     * 当数据库的版本发生变化时,会自动回调此方法 版本变化包括(升级表的结构,更新表的字段)     * */    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    }}

1.增

public class AddGoodsActivity extends BaseActivity implements OnClickListener {    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_add_goods);        initView();        MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(                AddGoodsActivity.this, 1);//参数1指的是数据库的版本号                // 获取一个数据库的操作对象,对数据库进行操作(增删改查)        db = mySQLiteOpenHelper.getReadableDatabase();    }    public void onClick(View v) {        switch (v.getId()) {        case R.id.add_act_button1:            ContentValues values = new ContentValues();            String name = getViewContent(nameEdit);            String price = getViewContent(priceEdit);            String date = getViewContent(dateEdit);             //key要和表中的字段名称一样                values.put("name", name);                values.put("price", price);                values.put("date", date);                /**             * 参数一:表名             * 参数二:通常设置为空             * 参数三:需要插入的数据的集合             * */                db.insert("goods1", null, values);                myToast("添加商品信息成功");            break;        }    }}

2.删

public class DeleteGoodsActivity extends BaseActivity implements        OnClickListener {    private SQLiteDatabase db;    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_delete_goods);        MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(                DeleteGoodsActivity.this, 1);        db = mySQLiteOpenHelper.getReadableDatabase();    }    public void onClick(View v) {        id = getViewContent(idEditText);        if (v.getId() == R.id.delete_act_btn) {        //根据id将数据删除        /**             * 参数一:表名             * 参数二:删除的条件,通常写成 :"xx=?"             * 参数三:删除的id             * */                db.delete("goods1", "id=?", new String[] { id });                myToast("商品删除成功");            }        }        }    }}

3.改

public class Update extends BaseActivity implements OnClickListener {    private SQLiteDatabase db;    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_update);        MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(                Update.this, 1);        db = mySQLiteOpenHelper.getReadableDatabase();    }    public void onClick(View v) {        if (v.getId() == R.id.update_act_button1) {            String updeId = getViewContent(idEditText);            String updateName = getViewContent(nameEditText);            String updatePrice = getViewContent(priceEditText);            String updateDate = getViewContent(dateEditText);            ContentValues values = new ContentValues();            //key值要和数据库中的字段名相对应            values.put("id", updeId);            values.put("name", updateName);            values.put("price", updatePrice);            values.put("date", updateDate);            /**             * 参数一:表名             * 参数二:需要更新的数据的集合             * 参数三:sql语句的条件字符串             * 参数四:补全参数三中的占位符             * */            db.update("goods1", values, "id=?", new String[] { findId });            myToast("商品信息修改成功");        }    }}

4.查

public class UpdateGoodsActivity extends BaseActivity implements        OnClickListener {    private SQLiteDatabase db;    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_update_goods);        MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(                UpdateGoodsActivity.this, 1);        db = mySQLiteOpenHelper.getReadableDatabase();      }    public void onClick(View v) {        updateId = getViewContent(idEditText);        if (v.getId() == R.id.update_act_btn) {        //根据商品的id将数据查询出来        /**             * 参数一:表名             * 参数二:查询的列数组(为null时,默认查找所有的列)             * 参数三:查询条件(为null,则没有限制),预编译             * 参数四:填充参数三中预编译的占位符             * 参数五:             * 参数六:             * 参数七:             * */                Cursor cursor = db.query("goods1", null, "id=?",                        new String[] { updateId }, null, null, null);                        //根据id将该条数据的值依次取出                while (cursor.moveToNext()) {                    String id = cursor.getString(cursor.getColumnIndex("id"));                    String name = cursor.getString(1);                    String price = cursor.getString(2);                    String date = cursor.getString(3);                }            }        }    }}
原创粉丝点击