好的...我很坚持这件事。我已经搜索了很多,即使在 stackoverflow 中,但我没有什么可以解决我的问题。问题是:我正在尝试更新数据库中的单个列,但它总是出错并且不起作用,而且我什至不知道问题出在哪里。
我尝试使用 SQLiteDatabase.update() ,但不起作用,现在使用 execSQL(String); 同样的错误。
所以我要展示我的代码,如果有人知道问题出在哪里......请帮助我。
public void AbreouCriaBD() {
try {
String nomeBanco = "Usuarios";
dataBase = openOrCreateDatabase(nomeBanco, MODE_WORLD_WRITEABLE, null);
String sql = "CREATE TABLE IF NOT EXISTS usuario" +
"(id INTEGER PRIMARY KEY, login TEXT, senha TEXT, saldoBanco float, saldoCredito float, saldoFuturos float)";
dataBase.execSQL(sql);
} catch(Exception erro) {
Alerta("Erro BD","BD Não criado");
}
}
public void UpdateBDPrincipal(double saldo) {
String saldoString = String.valueOf(saldo);
try {
dataBase.execSQL("UPDATE usuario SET 'saldoBanco'="+ saldoString +"WHERE 'login'= cristiano");
} catch(Exception error) {
Alerta("Erro","Erro no UPDATE");
}
}
public void Alerta(String title,String message) {
AlertDialog.Builder Sucesso = new AlertDialog.Builder(TelaSaldoCredito.this);
Sucesso.setTitle(title);
Sucesso.setMessage(message);
Sucesso.setNeutralButton("ok", null);
Sucesso.show();
}
它只是不起作用......请任何东西......
08-16 15:36:24.729: W/System.err(10855): java.lang.NullPointerException
08-16 15:36:24.739: W/System.err(10855): at com.bunchoffat.financejournal.TelaSaldoCredito.UpdateBDPrincipal(TelaSaldoCredito.java:121)
08-16 15:36:24.739: W/System.err(10855): at com.bunchoffat.financejournal.TelaSaldoCredito$1.onClick(TelaSaldoCredito.java:62)
08-16 15:36:24.739: W/System.err(10855): at android.view.View.performClick(View.java:2579)
08-16 15:36:24.739: W/System.err(10855): at android.view.View$PerformClick.run(View.java:9246)
08-16 15:36:24.739: W/System.err(10855): at android.os.Handler.handleCallback(Handler.java:587)
08-16 15:36:24.739: W/System.err(10855): at android.os.Handler.dispatchMessage(Handler.java:92)
08-16 15:36:24.739: W/System.err(10855): at android.os.Looper.loop(Looper.java:130)
08-16 15:36:24.739: W/System.err(10855): at android.app.ActivityThread.main(ActivityThread.java:3735)
08-16 15:36:24.739: W/System.err(10855): at java.lang.reflect.Method.invokeNative(Native Method)
08-16 15:36:24.739: W/System.err(10855): at java.lang.reflect.Method.invoke(Method.java:507)
08-16 15:36:24.759: W/System.err(10855): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
08-16 15:36:24.759: W/System.err(10855): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:662)
08-16 15:36:24.759: W/System.err(10855): at dalvik.system.NativeStart.main(Native Method)
正如我所看到的错误是 NullPointerException ...但是...我不知道为什么...数据库上有数据,我很确定,因为我可以登录系统和密码在数据库上...所以..我在这里缺少什么?