Android SQLite使用介绍

嵌入式关系型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;       }   }  

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyxfxy.html