这是我实现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 隐藏listView项后留下空白
- opengl 用什么pack图片啊
- android开发中,怎么在Button控件中触发menu事件?
- 左看右看也没有问题,但是总报错
- 关于ExpandableListView,请教各路大神!!!
- platform 2.3.3
- 急!求助关于MMITest和工程模式的测试问题.
- ViewPager + 滑入滑出动画
- abdroid:errror inflating class fragment问题
- Failed to parse XML in...不知道该怎么办
- 请教一个问题,线程的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。