我正在尝试将数据添加到 android 中的 SQLite 数据库,但出现错误“java.util.MissingFormatArgumentException:格式说明符:s”。我试图找出问题所在,但找不到。
按钮 OnClickListener 将数据添加到数据库。
addToCart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new Database(getBaseContext()).addToCart(new Order(
foodId,
foodItem.getName(),
quantity.getNumber(),
foodItem.getPrice(),
foodItem.getDiscount(),
foodItem.getImage()
));
Toast.makeText(ItemDetailsActivity.this, "Item added to your basket.", Toast.LENGTH_SHORT).show();
}
});
添加方法
public void addToCart(Order order){
SQLiteDatabase db = getReadableDatabase();
String query = String.format("INSERT INTO OrderDetails(Productid,ProductName,Quantity,Price,Discount,Image) VALUES('%s','%s','%s','%s','%s','%s');",
order.getProductid(),
order.getProductName(),
order.getQuantity(),
order.getPrice(),
order.getDiscount());
db.execSQL(query);
}
最佳答案
String query = String.format("INSERT INTO OrderDetails(Productid,ProductName,Quantity,Price,Discount,Image) VALUES('%s','%s','%s','%s','%s','%s');", order.getProductid(), order.getProductName(), order.getQuantity(), order.getPrice(), order.getDiscount());
您有六个 %s
格式占位符,但您只提供了五个值。
关于java.util.MissingFormatArgumentException : Format specifier: s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48168503/