SQLite数据库_实现简单的增删改查

1.SQLite是一款轻量型的数据库是遵守ACID(原子性、一致性、隔离性、持久性)的关联式数据库管理系统,多用于嵌入式开发中。

2.Android平台中嵌入了一个关系型数据库SQLite,和其他数据库不同的是 SQLite存储数据时不区分类型

3.例如一个字段声明为Integer类型,我们也可以将一个字符串存入,一个字 段声明为布尔型,我们也可以存入浮点数

4.除非是主键被定义为Integer,这时只能存储64位整数,SQLite,无需安装 ,是Android平台自带的一个数据库。

  下面让我们看一下对SQLite的实际运用:

  第一布:继承SQLiteOpenHelper创建数据库和表

 package com.example.help;

 import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; public class Helper extends SQLiteOpenHelper { public Helper(Context context) {
super(context, "db.student", null, 1);
} @Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table student (_id integer primary key autoincrement,name vachar(20),sex vachar(3))");
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }

  第二步:新建一个类实现对数据库的增删该查

 package com.example.dao;

 import com.example.help.Helper;

 import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; public class Dao {
private Helper helper;
private String sex;
public Dao(Context context) {
helper=new Helper(context);
}
public void add(String name,String sex){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("insert into student(name,sex) values(?,?)",new Object[]{name,sex});
db.close();
}
public void delete(String name){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("delete from student where name=?",new Object[]{name});
db.close();
}
public void update(String name,String newsex){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update student set sex=? where name=?",new Object[]{newsex,name});
db.close();
}
public String find(String name){
SQLiteDatabase db=helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select sex from student where name=?", new String[]{name});
boolean next = cursor.moveToNext();
if(next){
sex = cursor.getString(0);
}
db.close();
cursor.close();
return sex; }
}

  第三步:测试一下sql语句是否正确以及Java语言是否正确

package com.example.test;

import com.example.dao.Dao;

import android.test.AndroidTestCase;
import android.text.TextUtils; public class sqlTest extends AndroidTestCase { public void add(){
Dao dao = new Dao(getContext());
dao.add("张三", "男");
}
public void delete(){
Dao dao = new Dao(getContext());
dao.delete("张三");
}
public void update(){
Dao dao = new Dao(getContext());
dao.update( "张三","女");
}
public void find(){
Dao dao = new Dao(getContext());
String find = dao.find("张三");
if(TextUtils.isEmpty(find)){
System.out.println("没这人");
}else{
System.out.println(find);
}
}
}

但同时需要配置AndroidManifest.xml文件

SQLite数据库_实现简单的增删改查

  同时测试类的操作如下:

  SQLite数据库_实现简单的增删改查

  

上一篇:Java基础-面向对象第三大特性之多态(polymorphism)


下一篇:JavaScript(核心、BOM、DOM)