首页 > 代码库 > android sqlite 使用(1)
android sqlite 使用(1)
Android操作系统使用SQLite数据库,使用有两种方法获得数据库对象:
1.获取已经存在的数据库
SQLiteDatabase dbbrndi=SQLiteDatabase.openDatabase("/sdcard/zhycheng.db3", null,SQLiteDatabase.OPEN_READONLY);
第一个String参数是数据库在文件系统中的位置,第二个参数一般为null,第三个参数控制数据库打开的方式。
这样就获得了数据库对象。
2.自己创建数据库
新建一个类,继承SQLiteOpenHelper,添加未实现的方法
代码如下
package your.zhycheng; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class MyHelper extends SQLiteOpenHelper{ public MyHelper(Context context, String name) { this(context,name,1); } public MyHelper(Context context, String name,int version) { this(context,name,null,version); } public MyHelper(Context context, String name,//数据库的名字 CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table user(id int,name text)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
获得的数据库位于/data/data/yourpackage/databases/zhycheng.db3
然后通过生成一个MyHelper类的对象,调用
MyHelper mh=new MyHelper(this,"zhycheng"); SQLiteDatabase db=mh.getReadableDatabase(); SQLiteDatabase db=mh.getWritableDatabase();
分别获得只读和可写的数据库。
获得数据库之后就可以进行数据库操作有以下两种方式操作数据库
1.执行SQL语句
db.rawQuery(sql,Args) db.execSQL(sql, Args) db.execSQL(sql)
上面的sql是String类型的数据库语言,Args是String数组。前面String中若有"?"则对应后面的值。
2.使用特定的方法
插入方法
MyHelper mhz=new MyHelper(this,"zhycheng",2); SQLiteDatabase dbz=mhz.getWritableDatabase(); ContentValues value=http://www.mamicode.com/new ContentValues();>
删除方法MyHelper mhsc=new MyHelper(this,"zhycheng",2); SQLiteDatabase dbsc=mhsc.getWritableDatabase(); dbsc.delete("user", "id=?", new String[]{"1"}); dbsc.close();改方法
MyHelper mhg=new MyHelper(this,"zhycheng",2); SQLiteDatabase dbg=mhg.getWritableDatabase(); ContentValues vs=new ContentValues(); vs.put("id", 1); dbg.update("user", vs, //set XXX=xx "id=?", new String[]{"4"}//id=4 );//
查方法MyHelper mhc=new MyHelper(this,"zhycheng",2); SQLiteDatabase dbc=mhc.getReadableDatabase(); Cursor c=dbc.query("user",//表名字 new String[]{"id","name"},//查询的列 "id=?", new String[]{"2"}, //where null, null, null); while(c.moveToNext()) { System.out.println(c.getString(c.getColumnIndex("name"))); }
最后有一个函数很有用insert into user values(7,datetime(CURRENT_TIMESTAMP,'localtime'))
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。