我得到这个错误:com.android.internal.os.ZygoteInit$MethodAndArgsCaller
当我试图在我的android代码的SQLite数据库中插入和选择语句时,就会出现这个错误。有人能告诉我解决这个问题的办法吗 代码:我得到这个错误:com.android.internal.os.ZygoteInit$MethodAndArgsCaller,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,当我试图在我的android代码的SQLite数据库中插入和选择语句时,就会出现这个错误。有人能告诉我解决这个问题的办法吗 代码: MethodAndArgsCaller告诉您向方法传递了错误的参数。 在这种情况下,您没有将所有必需的参数传递给execSQL() 还要注意,execSQL()不会返回任何值,因此返回true是完全没有用的 我会像这样重写你的方法: public void altaCliente(Clientes c) { SQLiteDatabase db = getRe
MethodAndArgsCaller
告诉您向方法传递了错误的参数。在这种情况下,您没有将所有必需的参数传递给
execSQL()
还要注意,execSQL()
不会返回任何值,因此返回true是完全没有用的
我会像这样重写你的方法:
public void altaCliente(Clientes c)
{
SQLiteDatabase db = getReadableDatabase();
db.execSQL("INSERT INTO Clientes VALUES ('" +
c.getNumero() + "', '" +
c.getNombre() + "', '" +
c.getAlias() + "', '" +
c.getGruPrecioCliente() + "', '" +
c.getGruDesCliente() + "', '" +
c.getGruRegIvaNeg() + "')",
null); // This is your missing parameter!
}
这只解决了方法和argscaller
异常
解决该问题后,可能会出现更多异常
- 我必须认为您的所有列都是字符串(因为您正在插入所有字符串!)。如果不是,这可能会导致异常李>
- 并且您没有尝试手动插入自动增量字段(
?)。否则会导致另一个例外李>c.getNumero()
- 你的句子不包含任何撇号(
),因为我看不到任何代码,如果存在的话,你可以将它加倍。如果不使用双撇号,这将导致另一个错误”
- 并且您没有尝试手动插入自动增量字段(
公共布尔altaCliente(Clientes c){SQLiteDatabase db=getReadableDatabase();db.execSQL(“插入到Clientes值中”(“+c.getNumero()+”,“+c.getNombre()+”,“+c.getAlias()+”,“+c.getgrudresciocliente()+”,“+c.getGruDesCliente()+”,“+c.getGruRegIvaNeg()+”));return true;}这是一个应用程序崩溃的例子,但我确信问题并不存在。我想可能是因为有空字段。看看这个Maria,当它解决了你的问题时,接受一个答案是很明智的。否则,您的帖子将永远保留在
未回答问题队列中。看到答案旁边的白色记号了吗?只要检查一下,它就会变成绿色。
public void altaCliente(Clientes c)
{
SQLiteDatabase db = getReadableDatabase();
db.execSQL("INSERT INTO Clientes VALUES ('" +
c.getNumero() + "', '" +
c.getNombre() + "', '" +
c.getAlias() + "', '" +
c.getGruPrecioCliente() + "', '" +
c.getGruDesCliente() + "', '" +
c.getGruRegIvaNeg() + "')",
null); // This is your missing parameter!
}