public void insert(View target){
String mBirth = birth_year.getText().toString();
String mName = name.getText().toString();
String mHome = hometown.getText().toString();
Toast.makeText(getApplicationContext(), mBirth+mName+mHome ,
Toast.LENGTH_SHORT).show();
db.execSQL("INSERT INTO member VALUES (null, '"+ mBirth + "', '"
+ mName + "', '" + mHome + "');");
Toast.makeText(getApplicationContext(), "saved.",
Toast.LENGTH_SHORT).show();
birth_year.setText("");
name.setText("");
hometown.setText("");
}
public void search(View target){
Cursor cursor;
cursor = db.rawQuery("SELECT b_year, b_name, b_city FROM member;",null);
String mBirth="Year\n", mName="Name\n", mHome="City\n";
while(cursor.moveToNext()){
int gBirth = cursor.getInt(0);
String gName = cursor.getString(1);
String gHome = cursor.getString(2);
mBirth += (Integer.toString(gBirth)+'\n');
mName += (gName+'\n');
mHome += (gHome+'\n');
}
btext.setText(mBirth);
ntext.setText(mName);
htext .setText(mHome);
Toast.makeText(getApplicationContext(), mBirth+mName+mHome ,
Toast.LENGTH_SHORT).show();
}
У меня проблема с тем, что база данных не работает, как я ожидал. Когда я выполняю insert()
, ничего не пишет на birth_year
, что такое Edit_Text
, я ожидаю, что db.execSQL()
выкинет SQLiteException
. Но исключение не выбрасывается, и когда я выполняю search()
, gBirth
- 0
. result Результаты показаны по ссылке. Я хочу передать исключение, когда я выполняю insert()
, который ничего не пишет на birth_year
. Как я могу это исправить?Android: база данных getInt()
Добавить свой логарифм –