加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Android SQLite使用详解

发布时间:2021-12-18 16:19:21 所属栏目:PHP教程 来源:互联网
导读:嵌入式关系型SQLite数据库与普通数据库的最大区别是: 嵌入式关系型SQLite数据库除了主键外,没有数据类型之分。即整型字段可以用来存放字符数据,反之字符串字段也可以用来存放整型值 SQLite使用方法步骤: 第一步:编写一个类并继承SQLiteOpenHelper; 该类
嵌入式关系型SQLite数据库与普通数据库的最大区别是:
嵌入式关系型SQLite数据库除了主键外,没有数据类型之分。即整型字段可以用来存放字符数据,反之字符串字段也可以用来存放整型值
SQLite使用方法步骤:
第一步:编写一个类并继承SQLiteOpenHelper;  
该类我认为有两个作用:第一:用来取得操作sql语句的对象  
                        第二:用来管理数据库的版本,可以进行相应的更新  
简单的实例:  
public class DBOpenHelperService extends SQLiteOpenHelper {  
      
    private static final String DATABASENAME = "smuoj.db"; //数据库名称  
    private static final int DATABASEVERSION = 1;//数据库版本  
  
  
    public DBOpenHelperService(Context context) {  
        super(context, DATABASENAME, null, DATABASEVERSION);  
    }  
    @Override  
    public void onCreate(SQLiteDatabase db) {  
        db.execSQL("CREATE TABLE _person (personid integer primary key autoincrement, name varchar(20), age integer)");//执行有更改的sql语句  
    }  
    @Override  
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
        // TODO Auto-generated method stub  
        db.execSQL("DROP TABLE IF EXISTS _person");  
        onCreate(db);  
    }  
}  
第二步:根据要求编写相应的增删改查..的代码  
注意:dbOpenHelperService.getWritableDatabase();通过这个函数可以取得操作数据库的对象  
当调用这个方法时,如果数据库不存在,则会创建数据库,并执行Oncreate()方法  
                   如果版本信息改变,则会执行onUpgrade()这个方法  
如:编写保存 与 查找  
public class DB {  
    private  DBOpenHelperService dbOpenHelperService;  
    private SQLiteDatabase db ;  
    public DB(Context context) {  
        dbOpenHelperService = new DBOpenHelperService(context);  
        db  = dbOpenHelperService.getWritableDatabase();  
    }  
    public  void save(Person person){  
          
        String sql = "insert into _person(name,age) values(?,?)";  
        db.execSQL(sql,new Object[]{person.getName(),person.getAge()});  
        db.close();  
    }  
    public List<Person> find(){  
        List<Person> persons = new ArrayList<Person>();  
        String sql = "select * from _person";  
        Cursor cursor = db.rawQuery(sql,null);  
        while(cursor.moveToNext()){  
            Person person = new Person();  
            person.setName(cursor.getString(cursor.getColumnIndex("name")));  
            person.setAge(cursor.getInt(cursor.getColumnIndex("age")));  
            persons.add(person);  
        }  
        return persons;  
    }  
}  
 

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读