zoukankan      html  css  js  c++  java
  • 练习

    package com.hanqi.cunchu;
    
    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.AppCompatActivity;
    import android.util.Log;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class shujuku1 extends AppCompatActivity {
        EditText name, id, sex, age;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.shujuku1);
            id = (EditText) findViewById(R.id.i1);
            name = (EditText) findViewById(R.id.i2);
            sex = (EditText) findViewById(R.id.i3);
            age = (EditText) findViewById(R.id.i4);
        }
        public  void  b1(View view){
            m mdb = new m("test2",1);
    
            //得到连接
            SQLiteDatabase sqLiteDatabase= mdb.getWritableDatabase();
    
            //关闭连接
            sqLiteDatabase.close();
    
        }
        public  void  b2(View view){
            //使用工具类得到数据库对象
            m mdb = new m("test2",4);
    
            //得到连接
            SQLiteDatabase sqLiteDatabase= mdb.getWritableDatabase();
    
            //关闭连接
            sqLiteDatabase.close();
        }
        public  void  b3(View view){
            SQLiteDatabase sd=new m("test2",4).getReadableDatabase();
            ContentValues cv=new ContentValues();
            cv.put("_id",id.getText().toString());
            cv.put("name",name.getText().toString());
            cv.put("age",age.getText().toString());
            cv.put("sex",sex.getText().toString());
            sd.insert("NewTable", null, cv);
            sd.close();
        }
    
        public  void  b5(View view){
            SQLiteDatabase sd=new  m("test",4).getReadableDatabase();
            String s="1=1";
            if(id.getText().length()>0){
                s+=" and _id="+id.getText().toString();
            }
            if(name.getText().length()>0){
                s+=" and name="+name.getText().toString();
            }
            if(sex.getText().length()>0){
                s+=" and sex="+sex.getText().toString();
            }
            if(age.getText().length()>0){
                s+=" and age="+age.getText().toString();
            }
            Cursor c = sd.query("NewTable", null, s, null, null, null, null);
    
            while (c.moveToNext()){
                String ss=c.getString(c.getColumnIndex("_id"))+" "+c.getString(1);
            }
            c.close();
            sd.close();
        }
        public void b6(View v){
            SQLiteDatabase sd=new m("test2",4).getReadableDatabase();
            ContentValues cv=new ContentValues();
            cv.put("name",name.getText().toString());
            cv.put("age",age.getText().toString());
            cv.put("sex",sex.getText().toString());
            sd.update("NewTable", cv, "_id=?", new String[]{id.getText().toString()});
            sd.close();
    
        }
        public void b7(View v){
            SQLiteDatabase sd=new m("test2",4).getReadableDatabase();
    
            sd.delete("NewTable", "_id=?", new String[]{id.getText().toString()});
        }
        public void b8(View v){
            SQLiteDatabase sd=new m("test2",4).getReadableDatabase();
            sd.beginTransaction();
            try {
                ContentValues cv = new  ContentValues();
               cv.put("name","呵呵哒");
                ContentValues cv2 = new  ContentValues();
                cv2.put("name", "呵呵哒2");
              int i=  sd.update("NewTable",cv,"_id=1",null);
    //            if(i>0){
    //            throw new RuntimeException("呵呵哒");
    //            }
             int k=   sd.update("NewTable",cv,"_id=1",null);
                sd.setTransactionSuccessful();
                Toast.makeText(shujuku1.this, "改变的记录条数"+(i+k), Toast.LENGTH_SHORT).show();
        }
            catch (Exception e){
                e.printStackTrace();
            }
            finally {
                sd.endTransaction();
                sd.close();
            }
        }
            class m extends SQLiteOpenHelper{
            public m(String dbname,int ver){
                super(shujuku1.this,dbname,null,ver);
            }
    
            @Override
                public void onCreate(SQLiteDatabase db) {
                String sql="CREATE TABLE  "main"."NewTable" ("_id"  INTEGER NOT NULL," +
                        ""name"  varchar(20),"sex"  char(1)," +
                        ""age"  INTEGER,PRIMARY KEY ("_id")
    " +
                        ")
    " +
                        ";";
                db.execSQL(sql);
                Log.e("tag", "创建完成");
                //2.执行初始化数据的语句,insert语句
    
                ContentValues cv=new ContentValues();
                cv.put("name","张三");
                cv.put("sex","男");
                cv.put("age",15);
    
                //z执行插入
                long l= db.insert("NewTable",null,cv);
    
                Log.e("tag", "初始化数据" + l);
    
            }
    
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
                if(newVersion==4){
                    ContentValues cv=new ContentValues();
                    cv.put("name","李四");
    
                    String sql="update NewTable set name='李四' where _id=1";
                    String s[]={"1","18"};
    
                    //调用db的更新方法
                    int i= db.update("NewTable",cv,"_id=? and age<?",s);
    
                    Log.e("tag", "升级数据 数据条数=" + i);
                    db.execSQL(sql);
                }
            }
    
                @Override
                public void onOpen(SQLiteDatabase db) {
                    super.onOpen(db);
                }
            }
    }
  • 相关阅读:
    浅谈Cauchy不等式
    终于结束的起点——CSP-S 2019 第二轮游记
    LOJ 10172 涂抹果酱
    数字表格
    CSP-S 2019 第一轮 游记
    20191011模拟赛
    Luogu 2327 扫雷
    NOIAC 30 candy
    FormData文件上传
    sde表空间无法导入数据和编辑
  • 原文地址:https://www.cnblogs.com/storm47/p/5562670.html
Copyright © 2011-2022 走看看