数据库操作

个人认为数据库操作还是很容易,以前做过服务端开发。

遇到问题印象最深的一次:排序,NND ,我竟然将关键字:order by + 列名 一起作为参数传进去,总是报错。

记住:这些sql关键字是不需要我们写的,sdk早就自己写好了。

 

public static final String KEY_NAME = "username"; // 数据表字段
 public static final String KEY_PWD = "userpwd"; // 数据表字段
private DatabaseHelper mDbHelper; // SQLiteOpenHelper实例对象
 private SQLiteDatabase mDb; // 数据库实例对象
 // 数据表创建语句
 private static final String DATABASE_CREATE = "create table notes (_id integer primary key autoincrement, "
   + KEY_NAME + " text not null, " + KEY_PWD + " text not null, " + KEY_LEARNPWD +  " text not null, "
    + KEY_NEXTLOGIN +  " text not null, " + KEY_AUTO + " text not null);";
   
 private static final String DATABASE_NAME = "data"; // 数据库名
 private static final String DATABASE_TABLE = "notes"; // 数据库表名

 // 数据库辅助类
 private class DatabaseHelper extends SQLiteOpenHelper {
  
  DatabaseHelper(Context context) {
   super(context, DATABASE_NAME, null, DATABASE_VERSION);
  }

  @Override
  public void onCreate(SQLiteDatabase db) {
   db.execSQL(DATABASE_CREATE);
  }

  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
   db.execSQL("DROP TABLE IF EXISTS notes");
   onCreate(db);
  }
 }

 //获取
 public Cursor fetchAutoLoginUserData() throws SQLException {
  Cursor mCursor = mDb.query(true, DATABASE_TABLE, new String[] {
    KEY_ROWID, KEY_NAME, KEY_PWD }, KEY_AUTO + "='" + AUTO_LOGIN_TRUE + "'",
    null, null, null, null, null);
  if (mCursor != null) {
   mCursor.moveToFirst();
  }
  return mCursor;
 }

public boolean updateUserData(String name, String pwd, String learnpwd,
   String autologin) {
  ContentValues args = new ContentValues();
  args.put(KEY_PWD, "");


  return mDb.update(DATABASE_TABLE, args, KEY_NAME + "='" + name + "'",
    null) > 0;
 }

public boolean deleteUserData(String name) {
  return mDb.delete(DATABASE_TABLE, KEY_NAME + "='" + name + "'", null) > 0;
 }

public boolean insertUserData(String name, String pwd, String learnpwd,
   String autologin) {

  ContentValues initialValues = new ContentValues();
  initialValues.put(KEY_NAME, name);
  
  return mDb.insert(DATABASE_TABLE, null, initialValues) > 0;

 }

你可能感兴趣的:(数据库操作)