不是所有数据库都支持这种功能的;好像sqllite就不支持。
你如果实在需要这个功能,可以自己维护一个各表、各字段的说明,不过这个就很麻烦了。
这里我们要用Cursor中的getCount()方法去获得表中数据的行数(即,是否有数据)注意!此方法返回值是int型,为数据行数,有数据则大于等于1无数据则为0,
拿到查询回来的行数后在java代码中判断是否为0,即是否有数据!看下面代码:
//创建或者打开数据库
SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null)
//实例化一个Cursor 为c做查询
Cursor c=db.rawQuery("select * from person where id=1",null)
int re = c.getCount()//定义一个int型变量re接收查询行数的返回值
//对re(数据行数)进行判断,为0执行下面insert,非0执行updateif(re==0){
db.execSQL("insert into person(id,name,password) values(1,2,3)")
}else{
db.execSQL("update person set name=? ,password=? where id=1",new Object[]{name,password})
}
基本每一行都有注释,纯手打。SQL语句改一下即可套用
Sqlite中判断表、字段是否存在。
SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。
SQLite:
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。
它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的 *** 作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。
SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有15个年头,SQLite也迎来了一个版本 SQLite 3已经发布。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)