问题描述
- 无法插入数据,为什么代码在这行跳过了??
-
下面的插入数据库有什么问题,调试时不报错,直接在注释的那行跳出方法了,为什么会这样private void readContacts() {
Cursor cursor = null;
try {
cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null, null, null, null);
while (cursor.moveToNext()) {
String displayname = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone
.DISPLAY_NAME));
String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone
.NUMBER));
SQLiteDatabase db=dbhelper.getWritableDatabase();//在这行自动跳过了
ContentValues values = new ContentValues();
values.put("name",displayname);
values.put("number",number);
values.put("imgid",R.mipmap.fruit1);db.insert("Contacts",null,values);
解决方案
自己本地的sqlite,dbhelper有没有进行初始化
解决方案二:
没报异常之类的吗?你的这个数据库路径下有几张数据库表,如果多张的话需要写某个表名称吧
解决方案三:
去掉try catch看看报错是什么
解决方案四:
db.insert("Contacts",null,values);这句话里有表名,问题是程序在注释那行直接跳出了,在onCreate
方法里能添加数据,我上面的代码想从系统联系人里读取数据再写入自定义的数据库,不知道为什么没反应