zoukankan      html  css  js  c++  java
  • 5.5

    使用Android提供的API操作SQLite

    实现代码:

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private Context mContext;
        private Button btn_insert;
        private Button btn_query;
        private Button btn_update;
        private Button btn_delete;
        private SQLiteDatabase db;
        private MyDBOpenHelper myDBHelper;
        private StringBuilder sb;
        private int i = 1;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mContext = MainActivity.this;
            myDBHelper = new MyDBOpenHelper(mContext, "my.db", null, 1);
            bindViews();
        }
    
        private void bindViews() {
            btn_insert = (Button) findViewById(R.id.btn_insert);
            btn_query = (Button) findViewById(R.id.btn_query);
            btn_update = (Button) findViewById(R.id.btn_update);
            btn_delete = (Button) findViewById(R.id.btn_delete);
    
            btn_query.setOnClickListener(this);
            btn_insert.setOnClickListener(this);
            btn_update.setOnClickListener(this);
            btn_delete.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            db = myDBHelper.getWritableDatabase();
            switch (v.getId()) {
                case R.id.btn_insert:
                    ContentValues values1 = new ContentValues();
                    values1.put("name", "呵呵~" + i);
                    i++;
                    //参数依次是:表名,强行插入null值得数据列的列名,一行记录的数据
                    db.insert("person", null, values1);
                    Toast.makeText(mContext, "插入完毕~", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.btn_query:
                    sb = new StringBuilder();
                    //参数依次是:表名,列名,where约束条件,where中占位符提供具体的值,指定group by的列,进一步约束
                    //指定查询结果的排序方式
                    Cursor cursor = db.query("person", null, null, null, null, null, null);
                    if (cursor.moveToFirst()) {
                        do {
                            int pid = cursor.getInt(cursor.getColumnIndex("personid"));
                            String name = cursor.getString(cursor.getColumnIndex("name"));
                            sb.append("id:" + pid + ":" + name + "
    ");
                        } while (cursor.moveToNext());
                    }
                    cursor.close();
                    Toast.makeText(mContext, sb.toString(), Toast.LENGTH_SHORT).show();
                    break;
                case R.id.btn_update:
                    ContentValues values2 = new ContentValues();
                    values2.put("name", "嘻嘻~");
                    //参数依次是表名,修改后的值,where条件,以及约束,如果不指定三四两个参数,会更改所有行
                    db.update("person", values2, "name = ?", new String[]{"呵呵~2"});
                    break;
                case R.id.btn_delete://参数依次是表名,以及where条件与约束
                    db.delete("person","personid = ?",newString[]{"3"});break;}}}
  • 相关阅读:
    python(7)-pycharm mac和windows专业版安装破解
    Navicat Premium15激活 安装与激活(转载) 有效!!
    PHP 冒泡排序
    PHP 插入排序 -- 希尔排序
    PHP 插入排序 -- 折半查找
    PHP 插入排序 -- 直接插入排序
    PHP 哈夫曼的实现
    PHP call_user_func的一些用法和注意点
    PHP 组件注册的例子
    PHP 奇葩的debug_zval_dump的输出
  • 原文地址:https://www.cnblogs.com/20193898liufa/p/14909869.html
Copyright © 2011-2022 走看看