这是我实现SQLiteOpenHelper的类,并且只在onCreate方法中执行一下语句:
sqLiteDatabase.execSQL("CREATE TABLE user (id int primary key,name varchar(10))");
这是我在activity执行的语句:
MySqlite(SqliteActivity.this,"earlDatabase.db",null,1);
SQLiteDatabase write = mySqlite.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("id",1);
values.put("name","earl");
write.insert("user", null, values);
Toast.makeText(SqliteActivity.this,"插入值成功______"+values.get("id"),1200).show(); values.put("id",2);
values.put("name","abc");
write.insert("user", null, values);
Toast.makeText(SqliteActivity.this,"插入值成功______"+values.get("id"),1200).show();但报错。第一次运行不报错,第一次之后就报错。虽然报错,但数据库有数据插入。以下是错误:
求高人指点,到底错在哪里了?
android数据存储sqlite
sqLiteDatabase.execSQL("CREATE TABLE user (id int primary key,name varchar(10))");
这是我在activity执行的语句:
MySqlite(SqliteActivity.this,"earlDatabase.db",null,1);
SQLiteDatabase write = mySqlite.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("id",1);
values.put("name","earl");
write.insert("user", null, values);
Toast.makeText(SqliteActivity.this,"插入值成功______"+values.get("id"),1200).show(); values.put("id",2);
values.put("name","abc");
write.insert("user", null, values);
Toast.makeText(SqliteActivity.this,"插入值成功______"+values.get("id"),1200).show();但报错。第一次运行不报错,第一次之后就报错。虽然报错,但数据库有数据插入。以下是错误:
求高人指点,到底错在哪里了?
android数据存储sqlite
解决方案 »
- 三本经典高清Android开发书籍分享 - 不需要积分(不收藏会后悔)
- android的局域网的问题
- 如何实现程序安装更新之后重启自己
- achartengine柱状图中的点击
- android 静默安装的问题!!!!!!!!!
- 请问如何从谷歌音乐网站上获取歌曲详细信息??
- 求神帮助,焦点问题~~~~~~~~~~~~
- fragment嵌套fragment问题
- 安卓系统运行的垃圾过多问题如何解决?
- Button 和onClick(View v)和OnClickListener()和button出现错误
- 请教一个问题,线程的run函数中,是否可以调用该类的其它函数?
- 为什么在子线程中可以更新UI?如下面的代码!
我是说你创建了一个带有主键ID的表之后,在添加数据的时候,不给id赋值,sqlite会自动给主键列赋值的,我记得是这样,你可以试试
我是说你创建了一个带有主键ID的表之后,在添加数据的时候,不给id赋值,sqlite会自动给主键列赋值的,我记得是这样,你可以试试
正解。
第二次插入同样的数据,由于id已存在,所以抛出了异常。
我是说你创建了一个带有主键ID的表之后,在添加数据的时候,不给id赋值,sqlite会自动给主键列赋值的,我记得是这样,你可以试试
正解。
第二次插入同样的数据,由于id已存在,所以抛出了异常。但是我把建表改了,把primary key还是报错。那为什么会报错
我是说你创建了一个带有主键ID的表之后,在添加数据的时候,不给id赋值,sqlite会自动给主键列赋值的,我记得是这样,你可以试试
但是我把建表语句改了,把primary key去除了,还是报错。并且ContextValues不能这样写“cv.put("id",null);”,不能设为null值。
我是说你创建了一个带有主键ID的表之后,在添加数据的时候,不给id赋值,sqlite会自动给主键列赋值的,我记得是这样,你可以试试
但是我把建表语句改了,把primary key去除了,还是报错。并且ContextValues不能这样写“cv.put("id",null);”,不能设为null值。
primary key不用去掉,你要把cv.put("id",***);这两句去掉。
我是说你创建了一个带有主键ID的表之后,在添加数据的时候,不给id赋值,sqlite会自动给主键列赋值的,我记得是这样,你可以试试
但是我把建表语句改了,把primary key去除了,还是报错。并且ContextValues不能这样写“cv.put("id",null);”,不能设为null值。
primary key不用去掉,你要把cv.put("id",***);这两句去掉。
但我要向数据库插入值,去掉put方法,怎么向数据库插入数据?
你要插入的值就是name嘛。
每插入一个name,id自动加1。