好的...我很困扰这件事。 我搜索了很多,甚至在这里sackoverflow,但我没有解决我的问题。 事情是:我试图更新我的数据库中的单个列,但它总是出现错误,它不起作用,我甚至不知道问题是什么。我试图使用SQLiteDatabase.update(),不起作用,现在与execSQL(字符串);我试着用SQLiteDatabase.update(),不工作,现在用execSQL(字符串);我试图使用SQLiteDatabase.update(),不工作,现在与execSQL(字符串);同样的错误。Android数据库更新寄存器
因此,我要展示我的代码,并请,如果有人有一些想法是什么问题是...请帮助我。
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)
,我可以看到错误是空指针异常...但是...我不知道为什么。 .. dataBase上有数据,我很确定,因为我可以在系统中登录,并且密码在dataBase上...所以,我在这里错过了什么?
尝试像这样的分贝。更新(字符串表,ContentValues值,字符串whereClause,字符串[] whereArgs) – Aravin
我也试过这个,但它也不起作用。 这是一个棘手的问题。在ContentValues中,我必须将该键的名称与列名称相同,对吗?而在whereClause只是“'登录'=克里斯蒂亚诺”对吗?是不是,同样的错误... –
我们也可能需要更多信息。你是否使用Android提供者模式(即你是否从ContentProvider扩展)?你是否还使用'SQLiteOpenHelper'来帮助抽象SQLite,使更新和升级更容易? – Tseng