必威betway-手机版唯一官网
做最好的网站

betway必威官网手机版

当前位置:必威betway > betway必威官网手机版 > 求问数据库insert.setOnClickListener(this);为什么会运行报错?

求问数据库insert.setOnClickListener(this);为什么会运行报错?

来源:http://www.jdxzx.net 作者:必威betway 时间:2019-12-26 16:11

这是Main3Activity,也就是MainActivity:packagecom.example.xiangmu;importandroid.content.ContentValues;importandroid.database.Cursor;importandroid.database.sqlite.SQLiteDatabase;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;importandroidx.appcompat.app.AppCompatActivity;publicclassMain3ActivityextendsAppCompatActivityimplementsView.OnClickListener{publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}publicvoidinitView(){Buttoninsert=(Button)findViewById(R.id.insert_button);Buttoninsert_cleardata=(Button)findViewById(R.id.clear_insert_button);Buttonupdate=(Button)findViewById(R.id.update_button);Buttonupdate_cleardata=(Button)findViewById(R.id.clear_update_button);Buttondelete=(Button)findViewById(R.id.delete_button);Buttondelete_cleardata=(Button)findViewById(R.id.clear_delete_button);Buttonquery=(Button)findViewById(R.id.query);Buttonclearquery=(Button)findViewById(R.id.clear_query);//为所有按钮对象设置监听器insert.setOnClickListener(this);insert_cleardata.setOnClickListener(this);update.setOnClickListener(this);update_cleardata.setOnClickListener(this);delete.setOnClickListener(this);delete_cleardata.setOnClickListener(this);query.setOnClickListener(this);clearquery.setOnClickListener(this);}publicvoidonClick(Viewview){EditTextinsert_text=(EditText)findViewById(R.id.insert_text);Stringinsert_data=insert_text.getText().toString();EditTextdelete_text=(EditText)findViewById(R.id.delete_text);Stringdelete_data=delete_text.getText().toString();EditTextupdate_before_text=(EditText)findViewById(R.id.update_before_text);Stringupdate_before_data=update_before_text.getText().toString();EditTextupdate_after_text=(EditText)findViewById(R.id.update_after_text);Stringupdate_after_data=update_after_text.getText().toString();TextViewtextView=(TextView)findViewById(R.id.query_text);//新建了一个test_db的数据库DatabaseHelperdatabaseHelper=newDatabaseHelper(this,"test_db",null,1);SQLiteDatabasedb=databaseHelper.getWritableDatabase();switch(view.getId()){caseR.id.insert_button:ContentValuesvalues=newContentValues();values.put("name",insert_data);db.insert("user",null,values);break;caseR.id.clear_insert_button:insert_text.setText("");break;caseR.id.delete_button:db.delete("user","name=?",newString[]{delete_data});break;caseR.id.clear_delete_button:delete_text.setText("");break;//更新数据按钮caseR.id.update_button:ContentValuesvalues2=newContentValues();values2.put("name",update_after_data);db.update("user",values2,"name=?",newString[]{update_before_data});break;//更新数据按钮后面的清除按钮caseR.id.clear_update_button:update_before_text.setText("");update_after_text.setText("");break;//查询全部按钮caseR.id.query://创建游标对象Cursorcursor=db.query("user",newString[]{"name"},null,null,null,null,null);//利用游标遍历所有数据对象//为了显示全部,把所有对象连接起来,放到TextView中Stringtextview_data="";while(cursor.moveToNext()){Stringname=cursor.getString(cursor.getColumnIndex("name"));textview_data=textview_data+"n"+name;}textView.setText(textview_data);break;//查询全部按钮下面的清除查询按钮caseR.id.clear_query:textView.setText("");textView.setHint("查询内容为空");break;default:break;}}}这是DatabaseHelper:importandroidx.annotation.Nullable;importandroidx.appcompat.app.AppCompatActivity;importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteOpenHelper;importandroid.os.Bundle;importjava.sql.SQLException;publicclassDatabaseHelperextendsSQLiteOpenHelper{publicDatabaseHelper(@NullableContextcontext,@NullableStringname,@NullableSQLiteDatabase.CursorFactoryfactory,intversion){super(context,name,factory,version);}@OverridepublicvoidonCreate(SQLiteDatabasedb){Stringsql="createtableusername(varchar(20))";db.execSQL(sql);}@OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){}}编译时不报错,运行后app已停止运行就是initView();这一行以及insert.setOnClickListener(this);这一行出错,DatabaseHelper中Stringsql="createtableusername(varchar(20))";这一行的name编译时有错但是可以运行,请问是是什么情况?

本文由必威betway发布于betway必威官网手机版,转载请注明出处:求问数据库insert.setOnClickListener(this);为什么会运行报错?

关键词:

上一篇:没有了

下一篇:向下滑路径