Sqlite的基本操作
发布时间:2020-12-12 20:04:04 所属栏目:百科 来源:网络整理
导读:其一:自己建立数据库 步骤: 1,写一个类继承SQLiteOpenHelper。示例: public class MyHelper extends SQLiteOpenHelper {public MyHelper(Context context){super(context,"name.db",null,1);//调用父类的构造函数,父类会自动创建一个数据库}@Overridepu
其一:自己建立数据库 步骤: 1,写一个类继承SQLiteOpenHelper。示例:
public class MyHelper extends SQLiteOpenHelper { public MyHelper(Context context){ super(context,"name.db",null,1);//调用父类的构造函数,父类会自动创建一个数据库 } @Override public void onCreate(SQLiteDatabase db) { } @Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) { } }注意其中的构造方法: 所有的构造方法调用父类的super(Context,String,CursorFactory,int)。这里的第二个参数指的是要创建的数据库的名(非表名);而super方法,会自动创建一个数据库。而后,我们在这个库中创建任意多张表,在每一个表中进行CRUD操作。我们没有办法自己创建一个数据库,只能通过SQLiteOpenHelper中相应的构造函数来创建;我们能做的就是在创建好的库中创建表(也就是create table),并对表进行操作。 onCreate(): 通过构造函数,我们已经创建好了一个库,而onCreate()就是用来在初始化该库的表结构的。也就是说,它是用来在数据库中添加表的,并不是用来创建库的。其中传入的参数db就是通过构造函数创建好的数据库。 其二: sqlite是支持多种数据类型的(但是数据的大小是没有限制的,即使在创建的时候指定了),所以在实际运用中不能只使用varchar来。例如:
String sql = "CREATE TABLE IF NOT EXISTS " + "error_" + id + "_" + curId + " (_ID INTEGER PRIMARY KEY autoincrement,id int,json varchar(200),type varchar(20))"; db.execSQL(sql);这里将id指定为int类型,因为后面需要取最大的id值。如果用成varchar,那么取的结果和int的结果是不一样的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |