0
我想添加「播放器名稱」到我的數據庫中的表。它插入第一個完美的罰款,然後崩潰的第二個名字。Android:sqlite記錄插入工作一次,但不是兩次
公共無效addTeam1Members(){// TODO自動生成方法存根
EditText playername, playerinit;
DBAccessMatch dbAccess = new DBAccessMatch(this);
String pname, pinit;
dbAccess.open();
for (int x = 0; x < team1Players; x++) {
switch (x) {
case 0:
playername = (EditText) findViewById(R.id.etTeam1Player1);
GlobalVars.setTeam1PlayerNames(playername.getText().toString(),
x);
GlobalVars.sT1P1 = playername.getText().toString();
playerinit = (EditText) findViewById(R.id.etTeam1Player1Init);
GlobalVars.setTeam1PlayerInit(playerinit.getText().toString(),
x);
if (playername.getText().toString().trim().isEmpty() == true) {
pname = " ";
} else {
pname = playername.getText().toString().trim();
}
if (playerinit.getText().toString().trim().isEmpty() == true) {
pinit = " ";
} else {
pinit = playerinit.getText().toString().trim();
}
Toast.makeText(getApplicationContext(), pname + " - " + pinit, Toast.LENGTH_SHORT).show();
dbAccess.createPlayer(pname, pinit);
break;
case 1:
playername = (EditText) findViewById(R.id.etTeam1Player2);
GlobalVars.setTeam1PlayerNames(playername.getText().toString(),
x);
GlobalVars.sT1P2 = playername.getText().toString();
playerinit = (EditText) findViewById(R.id.etTeam1Player2Init);
GlobalVars.setTeam1PlayerInit(playerinit.getText().toString(),
x);
if (playername.getText().toString().trim().isEmpty() == true) {
pname = " ";
} else {
pname = playername.getText().toString().trim();
}
if (playerinit.getText().toString().trim().isEmpty() == true) {
pinit = " ";
} else {
pinit = playerinit.getText().toString().trim();
}
Toast.makeText(getApplicationContext(), pname + " - " + pinit, Toast.LENGTH_SHORT).show();
dbAccess.createPlayer(pname, pinit);
break;
這是代碼的一小塊示出播放器1和播放器2他們最終比相同的EditText其他他們居住的箱子。
當createPlayer(name,initial)在第一次插入完美時運行,然後第二次沒有。
public void createPlayer(String playername, String playerinitials) {
try {
ContentValues cv = new ContentValues();
cv.put(KEY_PLAYERNAME, playername);
cv.put(KEY_PLAYERINITIALS, playerinitials);
ourDatabase.insert(DATABASE_TABLE3, null, cv);
} catch (Exception e) {
String error = e.toString();
Dialog d = new Dialog(null);
d.setTitle("Dang it!");
TextView tv = new TextView(null);
tv.setText(error);
d.setContentView(tv);
d.show();
}
}
什麼是錯誤? – Jack
沒有錯誤出現,它只是崩潰了程序。 LogCat不會說任何事情,但它不會添加第二個人。 – Vidar
如果程序「崩潰」,則必須有某種錯誤。如果沒有 - 幫助你會很難。 – Jack