我正在开发一个简单的应用程序,它插入数据库并在插入的数据中搜索
我创建了数据库,我可以看到插入的所有行...我想使用 Name 列搜索行
我有一个错误,我不知道错误行在哪里
下面是我创建数据库的代码。
sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, MODE_PRIVATE, null);
sampleDB.execSQL("CREATE TABLE IF NOT EXISTS "+SAMPLE_TABLE_NAME +
" (Id INT(50), Name VARCHAR," +
" Price INT(50), Qty INT(50), Discount INT(50), Category INT(10));");
这是在数据库中搜索的代码
Button saveButton = (Button) findViewById(R.id.search_button);
saveButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
String searchStr = search.getText().toString();
Cursor c = sampleDB.rawQuery("SELECT Name, Price FROM "+SAMPLE_TABLE_NAME+" WHERE Name like '"+searchStr+"'", null);
if (c != null ) {
if (c.moveToFirst()) {
do {
String name = c.getString(c.getColumnIndex("Name"));
int cat = c.getInt(c.getColumnIndex("Category"));
results.add("" + name + ",Age: " + cat);
Log.v("Fname", name);
Log.v("Cat", cat+"");
}while (c.moveToNext());
}
}
}
});
知道 searchStr 有我想在数据库中搜索的名称
这是我遇到的错误
Bad request for field slot 0,-1. numRows = 18, numColumns = 2
FATAL EXCEPTION: main
java.lang.IllegalStateException: get field slot from row 0 col -1 failed
请问有什么帮助吗?