SQLite使用方法 SQLiteOpenHelper操作(转)

SQLiteOpenHelper主要用于 创建数据库

SQLiteDatabase 主要用于 执行sql语句

  1. 程序内使用SQLite数据库是通过SQLiteOpenHelper进行操作
  2. 1.       自己写个类继承SQLiteOpenHelper,重写以下3个方法
  3. public void onCreate(SQLiteDatabase db)
  4. {//创建数据库时的操作,如建表}
  5. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
  6. {
  7. //版本更新的操作
  8. }
  9. 2.    通过SQLiteOpenHelper的getWritableDatabase()获得一个SQLiteDatabase数据库,以后的操作都是对SQLiteDatabase进行操作。
  10. 3.       对得到的SQLiteDatabase对象进行增,改,删,查等操作。
  11. 代码
  12. package cx.myNote;
  13. import android.content.ContentValues;
  14. import android.content.Context;
  15. import android.content.Intent;
  16. import android.database.Cursor;
  17. import android.database.sqlite.SQLiteDatabase;
  18. import android.database.sqlite.SQLiteOpenHelper;
  19. //DBOptions for login
  20. public class DBOptions {
  21. private static final String DB_NAME = "notes.db";
  22. private static final String DB_CREATE="create table logininf(name text,pwd text)";
  23. public class DBHelper extends SQLiteOpenHelper
  24. {
  25. public DBHelper(Context context) {
  26. super(context,DB_NAME, null, 1);
  27. }
  28. @Override
  29. public void onCreate(SQLiteDatabase db) {
  30. // TODO Auto-generated method stub
  31. //建表
  32. db.execSQL(DB_CREATE);
  33. }
  34. @Override
  35. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  36. // TODO Auto-generated method stub
  37. db.execSQL("drop table if exists logininf");
  38. onCreate(db);
  39. }
  40. }
  41. private Context context;
  42. private SQLiteDatabase db;
  43. private DBHelper dbHelper;
  44. public  DBOptions(Context context)
  45. {
  46. this.context = context;
  47. dbHelper = new DBHelper(context);
  48. db=dbHelper.getReadableDatabase();
  49. }
  50. //自己写的方法,对数据库进行操作
  51. public String getName()
  52. {
  53. Cursor cursor = db.rawQuery("select name from logininf", null);
  54. cursor.moveToFirst();
  55. return cursor.getString(0);
  56. }
  57. public int changePWD(String oldP,String pwd)
  58. {
  59. ContentValues values = new ContentValues();
  60. values.put("pwd", pwd);
  61. return db.update("logininf", values,"pwd="+oldP, null);
  62. }
  63. }

insert方法插入的一行记录使用ContentValus存放,ContentValues类似于Map,它提供了put(String key, Xxx value)(其中key为数据列的列名)方法用于存入数据、getAsXxxx(String key)方法用于取出数据。

转载自 http://blog.csdn.net/wangqilin8888/article/details/7780228

上一篇:洛谷 [P1341]无序字母对


下一篇:datalist 分页