Java Can';不要在android数据库中插入

Java Can';不要在android数据库中插入,java,android,database,sqlite,insert,Java,Android,Database,Sqlite,Insert,数据库中的插入有问题。我不知道该怎么办 它写入错误插入 public类MainActivity扩展活动实现OnClickListener{ BaseOpener-bo; 私有静态最终字符串ML=“ML”; 按钮读、写; 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); read=(按钮)findViewById(R.id.read);

数据库中的插入有问题。我不知道该怎么办

它写入错误插入

public类MainActivity扩展活动实现OnClickListener{
BaseOpener-bo;
私有静态最终字符串ML=“ML”;
按钮读、写;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
read=(按钮)findViewById(R.id.read);
read.setOnClickListener(this);
write=(按钮)findViewById(R.id.write);
write.setOnClickListener(this);
bo=新的开基器(本);
Log.i(“Ml”,“良好开端”);
}
@凌驾
公共void onClick(视图v){
SQLiteDatabase db=bo.getWritableDatabase();
开关(v.getId()){
案例R.id.write:
{
ContentValues cv=新的ContentValues();
Log.i(“ML”,“write”);
cv.put(“id”,1);
cv.put(“姓名”、“石化”);
简历放置(“电话”、“911”);
cv.clear();
db.插入(“表1”,空,cv);
}
打破
案例R.id.内容如下:
{`在这里输入代码`
Log.i(“ML”,“read”);
游标c=db.query(“表1”,null,null,null,null,null);
if(c.moveToFirst()){
int idColIndex=c.getColumnIndex(“id”);
int nameColIndex=c.getColumnIndex(“名称”);
int emailColIndex=c.getColumnIndex(“电话”);
Log.i(“ML”,
“ID=“+c.getInt(idColIndex)+
“,name=“+c.getString(nameColIndex)+
“,phone=“+c.getString(emailColIndex));
}
}
打破
}
db.close();
Log.i(“ML”,“基地关闭”);
}
}
公共类BaseOpener扩展了SQLiteOpenHelper{
公共BaseOpener(上下文){
超级(上下文,“联系人”,空,1);
Log.i(“ML”,“基地准备就绪”);
}`在这里输入代码`
@凌驾
public void onCreate(SQLiteDatabase db){
db.execSQL(“创建表table1(“+”id integer主键,”
+“姓名字符串”+“电话字符串”+”;”;
Log.i(“ML”,“表1准备就绪”);
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
//TODO自动生成的方法存根
}
}
清除()
删除所有值。阅读有关ContentValues的更多信息您的表将id列为主键,因此您不能将其插入两次。我只是注释掉cv.put(“id”,1)行,让sqlite来处理它

//cv.put("id", 1);

db.execSQL("create table table1 (" + "id integer primary key,"
            + "name String," + "phone String" + ");");
    Log.i("ML", "table1 is ready");

也可以从你的下一个应用程序考虑命名你的ID栏id。这将使表与光标适配器更兼容。p> 看看这些链接,它们都使用_id


显示logcat的错误。