问题遇到的现象和发生背景
在实现读取写好的sqlite数据表并显示到AlertDialog对话框时读取错误
遇到的现象和发生背景,请写出第一个错误信息
(获取两个EditText中用户输入的数据,并且根据输入的数据去查询)
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
用户输入的部分以及查询的部分如下
Button chaxunneirong = findViewById(R.id.chaxun_button);
EditText editText1 = findViewById(R.id.chaxunkuang_1);
EditText editText2 = findViewById(R.id.chengshikuang_1);
chaxunneirong.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String chaxundata = editText1.getText().toString();//用户内容输入获取
String chaxundata1 = editText2.getText().toString();
SQLiteDatabase db = dbHelper.getWritableDatabase();//获取数据库对象
Cursor cursor = db.rawQuery("select * from fenlei where shi = ? and (mingzi like ? or leibie like ?)",new String[]{chaxundata1,"%"+chaxundata+"%","%"+chaxundata+"%"},null);
String massage_1 = null;
String massage_2 = null;
String massage_3 = null;
String massage_4 = null;
if (cursor.moveToFirst()) {
do {
massage_1 = cursor.getString(cursor.getColumnIndexOrThrow("shi"));
massage_2 = cursor.getString(cursor.getColumnIndexOrThrow("leibie"));
massage_3 = cursor.getString(cursor.getColumnIndexOrThrow("mingzi"));
massage_4 = cursor.getString(cursor.getColumnIndexOrThrow("caizhi"));
} while (cursor.moveToNext());
}
cursor.close();
//将获取的内容显示到对话框
AlertDialog alertDialog1 = new AlertDialog.Builder(chaxun.this)
.setTitle(chaxundata)//标题
.setMessage(massage_1 + " " + massage_2 + " " + massage_3 + " " + massage_4)//内容
.setIcon(R.mipmap.ic_launcher)//图标
.create();
alertDialog1.show();
}
运行结果及详细报错内容
使用sqlite expert查询时没有问题
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
下面是已经写好的数据
尝试过使用query以及rawQuery两种方法,sqlite expert对数据库操作没有任何问题,但Android studio这查询时就出现问题