SQLite操作数据库的步骤

前端之家收集整理的这篇文章主要介绍了SQLite操作数据库的步骤前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


  1. package com.example.dbdemo;
  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 MyDatabaseHelper extends sqliteOpenHelper {
  10. //创建自定义数据库操作类的两个成员变量,静态常量字符串
  11. public static final String CREATE_BOOK="create table book(id integer primary key autoincrement,author text,price real,pages integer,name text)";
  12. public static final String CREATE_CATEGORY="create table category(id integer primary key autoincrement"+
  13. ",category_name text,category_code integer)";
  14. private Context mContext; //上下文对象;
  15. public MyDatabaseHelper(Context context,String name,CursorFactory factory,int version) {
  16. super(context,name,factory,version);
  17. mContext=context; //给当前上下文对象赋值
  18. }
  19. //1.创建数据库方法
  20. @Override
  21. public void onCreate(sqliteDatabase db) {
  22. //使用db的execsql方法,来执行创建数据表的方法
  23. db.execsql(CREATE_BOOK);
  24. db.execsql(CREATE_CATEGORY);
  25. Toast.makeText(mContext,"创建数据成功!",Toast.LENGTH_SHORT).show();
  26. }
  27. //更新数据的方法;更新数据内容方法;因为已经有了数据库,则不会再次创建数据库 ;
  28. @Override
  29. public void onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) {
  30. db.execsql("drop table if exists book"); //如果存在,则删除!!!
  31. db.execsql("drop table if exists category");
  32. onCreate(db);
  33. }
  34.  
  35. }

  1. package com.example.dbdemo;
  2.  
  3. import android.app.Activity;
  4. import android.content.ContentValues;
  5. import android.database.sqlite.sqliteDatabase;
  6. import android.os.Bundle;
  7. import android.view.Menu;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.widget.Button;
  11. import android.widget.Toast;
  12.  
  13. public class MainActivity extends Activity {
  14. //1.创建主活动类的成员变量是数据库操作类
  15. private MyDatabaseHelper dbHelper;
  16. @Override
  17. protected void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_main);
  20. //---------------------------在主活动的方法里面来调用写数据的方法;
  21. //如何让调用onUpgrade()方法,使用版本号,即第四个参数
  22. dbHelper=new MyDatabaseHelper(MainActivity.this,"BookStore.db",null,2);
  23. Button btnDb=(Button)findViewById(R.id.btnDb);
  24. btnDb.setOnClickListener(new OnClickListener(){
  25.  
  26. @Override
  27. public void onClick(View arg0) {
  28. dbHelper.getWritableDatabase();
  29. }
  30. });
  31. //------------------为插入数据,编写相应的代码-----------------
  32. //sqliteDatabase对象,借助这个对象,就可以对数据进行CRUD操作!
  33. //sqliteDatabase类提供了一个insert()方法,这个方法专门用于对数据进行添加数据。它接受三个参数,第一个参数是表名,我们希望向哪个表添加数据,这里就传入该表的名字
  34. //第二个参数用于在未指定给某些可为空的列自动赋值NULL,一般我们用不到这个功能
  35. //第三个参数是一个ContentValues对象,它提供了一系列的put()方法重载,用于向ContentValues中添加数据,只需要将表中的每个列名以及相应的待添加数据传入即可
  36. Button btnAddData=(Button)findViewById(R.id.btnAddData);
  37. btnAddData.setOnClickListener(new OnClickListener(){
  38.  
  39. @Override
  40. public void onClick(View v) {
  41. sqliteDatabase db=dbHelper.getWritableDatabase(); //返回一个sqliteDatabase对象,可以对sqlite数据库进行操作;
  42. ContentValues values=new ContentValues();
  43. //开始组装第一条数据
  44. values.put("name","魔兽");
  45. values.put("author","张");
  46. values.put("pages",454);
  47. values.put("price",16.96);
  48. long i1=db.insert("Book",values); //插入第一条数据;
  49. values.clear(); //清楚内容值对象里面的数据;
  50. values.put("name","JQuery");
  51. values.put("author","li.sir");
  52. values.put("pages",510);
  53. values.put("price",19.95);
  54. long i2=db.insert("Book",values); //插入第二条数据;
  55. if(i1!=-1){
  56. Toast.makeText(MainActivity.this,"第一条数据插入成功",Toast.LENGTH_LONG).show();
  57. }
  58. if(i2!=-1){
  59. Toast.makeText(MainActivity.this,Toast.LENGTH_LONG).show();
  60. }
  61. }
  62. });
  63. //针对数据进行更新;
  64. Button btnUpdateData=(Button)findViewById(R.id.btnUpData);
  65. btnUpdateData.setOnClickListener(new OnClickListener(){
  66.  
  67. @Override
  68. public void onClick(View v) {
  69. sqliteDatabase db=dbHelper.getWritableDatabase(); //获得sqliteDatabase对象;
  70. ContentValues values=new ContentValues(); //获得内容值对象;
  71. values.put("price",188);
  72. int i3=db.update("Book",values,"name=?",new String[]{"魔兽"});
  73. //update(表名 ,值对象,列名,确定原来的哪一行数据
  74. if(i3!=0){
  75. Toast.makeText(MainActivity.this,"数据修改成功",Toast.LENGTH_LONG).show();
  76. }
  77. }
  78. });
  79. //-------------------使用删除按钮,对数据删除------------
  80. Button btnDeleteData=(Button)findViewById(R.id.btnDeleteData);
  81. btnDeleteData.setOnClickListener(new OnClickListener(){
  82.  
  83. @Override
  84. public void onClick(View v) {
  85. sqliteDatabase db=dbHelper.getWritableDatabase(); //获得sqliteDatabase对象db
  86. int i4=db.delete("Book","pages>?",new String[]{"500"});
  87. //delete(表名,哪个参数,具体值)
  88. Toast.makeText(MainActivity.this,"数据删除成功"+i4,Toast.LENGTH_LONG).show();
  89. }
  90. });
  91. }
  92.  
  93. @Override
  94. public boolean onCreateOptionsMenu(Menu menu) {
  95. getMenuInflater().inflate(R.menu.main,menu);
  96. return true;
  97. }
  98.  
  99. }

猜你在找的Sqlite相关文章