数据库交互

来源:互联网 发布:谷歌娘软件下载 编辑:程序博客网 时间:2024/06/09 15:40

什么是数据库的交互?

第一得确定与数据库连接起来

public DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
        Log.i("test","构造方法");
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.i("test","创建表");
        db.execSQL("create table login(uid integer primary key autoincrement,uname,upass)");
    }


    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.i("test","升级数据库版本");
    }
   @Override
   public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
       super.onDowngrade(db, oldVersion, newVersion);
   }
}

数据库交互是指通过sql语句进行数据的增删查改

首先是创表

创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],)

其次增加数据

添加 
      ContentValues contentValues=new ContentValues();
     contentValues.put("uname",uname);
      contentValues.put("upass",upass);
     contentValues.putNull("uid");
     sqLiteDatabase.insert("login","uname",contentValues);

删除

sqLiteDatabase.delete("login","uid=?",new String[]{102+""});

查询
      sqLiteDatabase.query()
        int pageNo=2;
        int pageSize=3;
        Cursor cursor=sqLiteDatabase.rawQuery("select * from login limit ?,?",new String[]{((pageNo-1)*pageSize)+"",pageSize+""});
        while (cursor.moveToNext()){
            int uid=cursor.getInt(cursor.getColumnIndex("uid"));
            String name=cursor.getString(cursor.getColumnIndex("uname"));
            String pass=cursor.getString(cursor.getColumnIndex("upass"));
            Log.i("test",uid+" "+name+" "+pass);
        }


//修改
      ContentValues contentValues=new ContentValues();
      contentValues.put("uname",uname);
     contentValues.put("upass",upass);
       sqLiteDatabase.update("login",contentValues,"uid=?",new String[]{1+""});