数据存储和访问—数据的增删改查

方法一、命令行模式。在环境变量Path中配置Platform-tools的路径,输入   adb shell,输入   cd /data/data/cn.bzu.tong.sqlite/databases,输入    sqlite3 BookStore.db,输入 .table查看数据库中的表,输入.scheme,查看建表语句,输入 select * from Book查看表中内容(自己运行显示不出内容)。

方法二、Navicat模式。模拟器运行,点击Create database等按钮,每一次都将模拟器中的BookStore.db导出,在Navicat中新建连接后导入该数据库,打开book表查看表中信息。



一、运行效果

1、Create databases

2、Add data   添加数据

3、Update data    更新数据

4、Delete Data    删除数据

5、Quary data    查询数据

Logcat显示如下图:

7、模拟器界面MainActivity.xml

二、核心代码

MainActivity.java

[java]  view plain  copy
  1. package cn.bzu.tong.sqlite;  
  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.View;  
  11. import android.view.View.OnClickListener;  
  12. import android.widget.Button;  
  13. import cn.bzu.tong.sqlist.R;  
  14. import cn.bzu.tong.sqlite.db.DBHelper;  
  15.   
  16. public class MainActivity extends Activity {  
  17.   
  18.     private DBHelper dbHelper;  
  19.     private Button createDatabase,addData,updateData,deleteData,queryData;  
  20.     @Override  
  21.     protected void onCreate(Bundle savedInstanceState) {  
  22.         super.onCreate(savedInstanceState);  
  23.         setContentView(R.layout.activity_main);  
  24.         dbHelper = new DBHelper(this,"BookStore.db",null2);  
  25.         queryData = (Button) findViewById(R.id.query_data);  
  26.         deleteData = (Button) findViewById(R.id.delete_data);  
  27.         updateData = (Button) findViewById(R.id.update_data);  
  28.         addData = (Button) findViewById(R.id.add_data);  
  29.         createDatabase = (Button) findViewById(R.id.creat_database);  
  30.         createDatabase.setOnClickListener(new OnClickListener() {  
  31.               
  32.             @Override  
  33.             public void onClick(View view) {  
  34.   
  35.                 dbHelper.getWritableDatabase();  
  36.             }  
  37.         });  
  38.         addData.setOnClickListener(new OnClickListener() {  
  39.               
  40.             @Override  
  41.             public void onClick(View view) {  
  42.   
  43.                 SQLiteDatabase db = dbHelper.getWritableDatabase();  
  44.                 ContentValues values = new ContentValues();  
  45.                 //开始组装第一条数据  
  46.                 values.put("name""The Da Vinci Code");  
  47.                 values.put("author""Dan Brown");  
  48.                 values.put("pages"454);  
  49.                 values.put("price"16.96);  
  50.                 db.insert("Book"null, values);//插入第一条数据  
  51.                 values.clear();  
  52.                 //开始组装第二条数据  
  53.                 values.put("name""The Lost Symbol");  
  54.                 values.put("author""Dan Brown");  
  55.                 values.put("pages"510);  
  56.                 values.put("price"19.95);  
  57.                 db.insert("Book"null, values);//插入第二条数据  
  58.             }  
  59.         });  
  60.         updateData.setOnClickListener(new OnClickListener() {  
  61.               
  62.             @Override  
  63.             public void onClick(View view) {  
  64.   
  65.                 SQLiteDatabase db = dbHelper.getWritableDatabase();  
  66.                 ContentValues values = new ContentValues();  
  67.                 values.put("price"10.99);  
  68.                 db.update("Book", values, "name=?"new String[]{"The Da Vinci Code"});  
  69.             }  
  70.         });  
  71.         deleteData.setOnClickListener(new OnClickListener() {  
  72.               
  73.             @Override  
  74.             public void onClick(View view) {  
  75.   
  76.                 SQLiteDatabase db = dbHelper.getWritableDatabase();  
  77.                 db.delete("Book""pages > ?"new String[]{"400"});//范围  
  78.             }  
  79.         });  
  80.         queryData.setOnClickListener(new OnClickListener() {  
  81.               
  82.             @Override  
  83.             public void onClick(View view) {  
  84.   
  85.                 SQLiteDatabase db = dbHelper.getWritableDatabase();  
  86.                 //查询Book表中所有数据  
  87.                 Cursor cursor = db.query("Book",null,null,null,null,null,null);  
  88.                 if(cursor.moveToFirst()){  
  89.                     do{  
  90.                         //遍历Cursor对象,取出数据并打印  
  91.                         String name = cursor.getString(cursor.getColumnIndex("name"));  
  92.                         String author = cursor.getString(cursor.getColumnIndex("author"));  
  93.                         int pages = cursor.getInt(cursor.getColumnIndex("pages"));  
  94.                         double price = cursor.getDouble(cursor.getColumnIndex("price"));  
  95.                         Log.d("MainActivity""book name is "+name);  
  96.                         Log.d("MainActivity""book author is "+author);  
  97.                         Log.d("MainActivity""book page is "+pages);  
  98.                         Log.d("MainActivity""book price is "+price);  
  99.                           
  100.                     }while(cursor.moveToNext());  
  101.                 }  
  102.                 cursor.close();  
  103.             }  
  104.         });  
  105.     }  
  106.   
  107.   
  108.     @Override  
  109.     public boolean onCreateOptionsMenu(Menu menu) {  
  110.         // Inflate the menu; this adds items to the action bar if it is present.  
  111.         getMenuInflater().inflate(R.menu.main, menu);  
  112.         return true;  
  113.     }  
  114.       
  115. }   

DBHelper.java

[java]  view plain  copy
  1. package cn.bzu.tong.sqlite.db;  
  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.widget.Toast;  
  8.   
  9. public class DBHelper extends SQLiteOpenHelper {  
  10.   
  11.     public static final String CREATE_TABLE_BOOK = "create table book("  
  12.             + "id integer primary key autoincrement," + "author text,"  
  13.             + "price real," + "pages integer," + "name text)";  
  14.     private Context mContext;  
  15.   
  16.     public static final String CREATE_TABLE_CATEGORY="create table Category(id integer primary key autoincrement," +  
  17.             "category_name text,category_code integer)";  
  18.     public DBHelper(Context context, String name, CursorFactory factory,  
  19.             int version) {  
  20.         super(context, name, factory, version);  
  21.         mContext = context;  
  22.     }  
  23.   
  24.     @Override  
  25.     public void onCreate(SQLiteDatabase db) {  
  26.   
  27.         db.execSQL(CREATE_TABLE_BOOK);  
  28.         db.execSQL(CREATE_TABLE_CATEGORY);  
  29.         Toast.makeText(mContext, "create succeeded", Toast.LENGTH_SHORT).show();  
  30.     }  
  31.   
  32.     @Override  
  33.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  34.   
  35.         db.execSQL("drop table if exists Book");  
  36.         db.execSQL("drop table if exists Category");  
  37.         onCreate(db);  
  38.     }  
  39.   
  40. }  

activity_main.xml

[java]  view plain  copy
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     tools:context=".MainActivity"  
  6.     android:orientation="vertical" >  
  7.   
  8.     <Button  
  9.         android:id="@+id/creat_database"  
  10.         android:layout_width="match_parent"  
  11.         android:layout_height="wrap_content"  
  12.         android:text="Create database" />  
  13.     <Button   
  14.         android:id="@+id/add_data"  
  15.         android:layout_width="match_parent"  
  16.         android:layout_height="wrap_content"  
  17.         android:text="Add Data"/>  
  18.     <Button   
  19.         android:id="@+id/update_data"  
  20.         android:layout_width="match_parent"  
  21.         android:layout_height="wrap_content"  
  22.         android:text="Update Data"/>  
  23.     <Button   
  24.         android:id="@+id/delete_data"  
  25.         android:layout_width="match_parent"  
  26.         android:layout_height="wrap_content"  
  27.         android:text="Delete Data"/>  
  28.     <Button   
  29.         android:id="@+id/query_data"  
  30.         android:layout_width="match_parent"  
  31.         android:layout_height="wrap_content"  
  32.         android:text="Query Data"/>  
  33.       
  34.   
  35. </LinearLayout>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值