当前位置:Gxlcms > 数据库问题 > 007_01SQLiteTransaction

007_01SQLiteTransaction

时间:2021-07-01 10:21:17 帮助过:5人阅读

package com.example.sqlitetransaction; 2 3 import android.content.Context; 4 import android.database.sqlite.SQLiteDatabase; 5 import android.database.sqlite.SQLiteDatabase.CursorFactory; 6 import android.database.sqlite.SQLiteOpenHelper; 7 import android.util.Log; 8 9 public class MydbOpenHelper extends SQLiteOpenHelper { 10 11 // 12 public MydbOpenHelper(Context context, String name, CursorFactory factory, 13 int version) { 14 super(context, name, factory, version); 15 // TODO Auto-generated constructor stub 16 } 17 18 19 //oncreate函数当数据库第一次被创建的时候会调用 20 @Override 21 public void onCreate(SQLiteDatabase db) { 22 // TODO Auto-generated method stub 23 String createtable = "create table user(id int, name varchar(20), money int);"; 24 db.execSQL(createtable); 25 System.out.println("MydbOpenHelper.onCreate()"); 26 } 27 28 29 //onUpgrade当你的数据库版本升级的时候会调用 30 @Override 31 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 32 // TODO Auto-generated method stub 33 //更改数据库的表结构 34 // user(id,name,password) user(id,name,password,gender) 35 // 36 // db.execSQL(""); 37 Log.i("MydbOpenHelper", "oldervserion"+oldVersion+"newversion"+newVersion); 38 System.out.println("MydbOpenHelper.onUpgrade()"); 39 40 } 41 42 } MydbOpenHelper.java

 

技术分享
 1 package com.example.sqlitetransaction;
 2 
 3 import android.app.Activity;
 4 import android.content.ContentValues;
 5 import android.database.Cursor;
 6 import android.database.sqlite.SQLiteDatabase;
 7 import android.os.Bundle;
 8 import android.util.Log;
 9 import android.view.Menu;
10 import android.view.MenuItem;
11 
12 public class MainActivity extends Activity {
13     SQLiteDatabase db;
14 
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.activity_main);
19         
20         MydbOpenHelper helper = new MydbOpenHelper(this, "count.db", null,1);
21         db = helper.getReadableDatabase();
22         
23         //insert();
24         try {
25             update();        
26             query();
27         } 
28         finally{
29             db.close();            
30         }
31         
32         }
33     private void update(){
34         db.beginTransaction();
35         try{
36             ContentValues cv = new ContentValues();
37             cv.put("money", 7000);
38             db.update("user", cv, "id=1", null);
39             
40             //int b = 1/0;
41             
42             cv.clear();
43             cv.put("money", 11000);
44             db.update("user", cv, "id=2", null);
45             db.setTransactionSuccessful();
46         }catch(Exception e){
47             
48         }finally{
49             db.endTransaction();
50         }
51 
52     }
53     private void query(){
54         Cursor c = db.rawQuery("select * from user", null);
55         
56         while(c.moveToNext()){
57             int id = c.getInt(c.getColumnIndex("id"));
58             String username = c.getString(c.getColumnIndex("name"));
59             String money = c.getString(c.getColumnIndex("money"));
60             Log.i("sqlitetransaction", id+","+username+","+money);
61         }
62     }
63     private void insert(){
64         ContentValues cv = new ContentValues();
65         cv.put("id", 1);
66         cv.put("name", "user1");
67         cv.put("money", 8000);
68         db.insert("user", null, cv);
69         cv.clear();
70         
71         cv.put("id", 2);
72         cv.put("name", "user2");
73         cv.put("money", 10000);
74         db.insert("user", null, cv);
75         cv.clear();
76     }
77 }
MainActivity.java

 

007_01SQLiteTransaction

标签:

人气教程排行