データベースに挿入し、挿入されたデータを検索するシンプルなアプリを開発しています
データベースを作成し、挿入されたすべての行を確認できました...[名前]列を使用して行を検索したい
エラーが発生しましたが、エラー行がどこにあるのかわかりません
以下は、データベースを作成するための私のコードです。
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
助けてください?