Android:SQLite使用方法 SQLiteOpenHelper操作 .

    1. 程序内使用SQLite数据库是通过SQLiteOpenHelper进行操作  
    2. 1.       自己写个类继承SQLiteOpenHelper,重写以下3个方法  
    3. public void onCreate(SQLiteDatabase db)   
    4. {//创建数据库时的操作,如建表}   
    5.    
    6. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)   
    7.        {  
    8.            //版本更新的操作   
    9.        }  
    10. 2.    通过SQLiteOpenHelper的getWritableDatabase()获得一个SQLiteDatabase数据库,以后的操作都是对SQLiteDatabase进行操作。  
    11. 3.       对得到的SQLiteDatabase对象进行增,改,删,查等操作。  
    12. 代码  
    13. package cx.myNote;  
    14.    
    15. import android.content.ContentValues;  
    16. import android.content.Context;  
    17. import android.content.Intent;  
    18. import android.database.Cursor;  
    19. import android.database.sqlite.SQLiteDatabase;  
    20. import android.database.sqlite.SQLiteOpenHelper;  
    21.    
    22. //DBOptions for login   
    23. public class DBOptions {  
    24.        private static final String DB_NAME = "notes.db";  
    25.        private static final String DB_CREATE="create table logininf(name text,pwd text)";  
    26.        public class DBHelper extends SQLiteOpenHelper  
    27.        {  
    28.    
    29.               public DBHelper(Context context) {  
    30.                      super(context,DB_NAME, null1);  
    31.                      }  
    32.    
    33.               @Override  
    34.               public void onCreate(SQLiteDatabase db) {  
    35.                      // TODO Auto-generated method stub  
    36.                      //建表   
    37.                  db.execSQL(DB_CREATE);  
    38.               }  
    39.                 
    40.               @Override  
    41.               public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
    42.                      // TODO Auto-generated method stub  
    43.                      db.execSQL("drop table if exists logininf");  
    44.                      onCreate(db);  
    45.               }  
    46.                 
    47.        }  
    48.        private Context context;  
    49.        private SQLiteDatabase db;  
    50.        private DBHelper dbHelper;  
    51.        public  DBOptions(Context context)  
    52.        {  
    53.               this.context = context;  
    54.               dbHelper = new DBHelper(context);  
    55.               db=dbHelper.getReadableDatabase();  
    56.                 
    57.        }  
    58.   //自己写的方法,对数据库进行操作   
    59.        public String getName()  
    60.        {  
    61.                 
    62.               Cursor cursor = db.rawQuery("select name from logininf"null);  
    63.               cursor.moveToFirst();  
    64.               return cursor.getString(0);       
    65.        }  
    66.        public int changePWD(String oldP,String pwd)  
    67.        {  
    68.               ContentValues values = new ContentValues();  
    69.               values.put("pwd", pwd);  
    70.               return db.update("logininf", values,"pwd="+oldP, null);  
    71.        }  
E/AndroidRuntime: FATAL EXCEPTION: Thread-2 Process: com.example.cameradiary, PID: 21990 java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. Expected identity hash: d0562aadd9063ca2a0141765861a8b25, found: 903c8b01c1005d9d530310defd042e19 at androidx.room.RoomOpenHelper.checkIdentity(RoomOpenHelper.kt:147) at androidx.room.RoomOpenHelper.onOpen(RoomOpenHelper.kt:128) at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onOpen(FrameworkSQLiteOpenHelper.kt:287) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:428) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:317) at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableOrReadableDatabase(FrameworkSQLiteOpenHelper.kt:232) at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.innerGetDatabase(FrameworkSQLiteOpenHelper.kt:190) at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getSupportDatabase(FrameworkSQLiteOpenHelper.kt:151) at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.kt:104) at androidx.room.RoomDatabase.inTransaction(RoomDatabase.kt:638) at androidx.room.RoomDatabase.assertNotSuspendingTransaction(RoomDatabase.kt:457) at com.example.cameradiary.userDAO_Impl.getALLUsers(userDAO_Impl.java:70) at com.example.cameradiary.SecondActivity$1.run(SecondActivity.java:60)
05-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值