내가 내 프로그램에 대한 데이터베이스를 만들려고 노력 그리고 난 바보 많은 문제에 봉착 충돌하지 않습니다 데이터베이스 클래스 :SQLite는 자바 안드로이드 그런 표, 프로그램은 주요 활동의 조각입니다 ...
String nickname="EmptyNick";
public Database(Context context, String name) {
super(context, "database.db", null, 1);
nickname = name;
}
public void onCreate(SQLiteDatabase db) {
if(!nickname.equals("EmptyNick")) {
db.execSQL("create table player(id integer primary key autoincrement,nick text);");
Users user = new Users();
user.setNick("Mariusz");
addPlayer(user);
}
else {
//not important
}
}
private void addPlayer(Users user) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put("nick",user.getNick());
db.insertOrThrow("player",null,values);
}
public String printRow() {
String string=null;
if(!nickname.equals("EmptyNick")) {
String[] collumns = {"id","nick"};
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query("player",collumns,null,null,null,null,null);
cursor.moveToFirst();
while (cursor.moveToNext()) {
string += cursor.getString(1);
}
}
else {
//not important
}
return string;
}
오류 : 그런 테이블 :에 의한 선수 : android.database.sqlite.SQLiteException : java.lang.reflect.InvocationTargetException 에 의한 그러한 테이블 : 플레이어 (코드 1) : , 동안 컴파일 중 : SELECT id, nick FROM player
정말 틀린 것을 볼 수 없습니다. 오류는 테이블 '플레이어'가 없다고 말하지만, 그렇습니다. 처음에 선에서 메탄을 생성합니다 :
db.execSQL("create table player(id integer primary key autoincrement,nick text);");
누가 나를 도와 줄 수 있습니까? 토스트를 text.setText (...) 대신 만들면 빈 필드가 표시되므로 예, 특정 행을 만들 수 없습니다. 나는 그 오류를 이해하지만 그것이 오는 곳과 이유가 무엇이든간에하지 않는다.
'onCreate'는 슈퍼 생성자에 의해 호출됩니다. 'name'은이 시점에서 업데이트되지 않으므로 어떤 이유에서든 create query를 호출하지 않습니다. – njzk2
Der Golem nickName은 다음과 같은 이유로 "EmptyNick"이 아닙니다. Database db = new Database (this, editText.getText(). toString()); 나는 또한 editText에서 문자열을 생성자로 지정합니다. 그러나 그것이 사실이라면, onCreate는 super()에 의해 호출됩니다 (njzk2가 말했듯이) 이것이 대답 일 수 있습니다. 나는 그것을 잠깐 후에 점검 할 것이다. – Charliee
글쎄, 조건에 대한 모든 줄을 지우더라도 같은 오류가 여전히 존재한다 ... 나는 정말로 이것을 얻을 수 없다. 이론적으로 모든 것이 작동하지만 실제 테이블에서는 작동하지 않습니다./ – Charliee