我正在尝试将数据添加到android中的SQLite数据库,但我收到错误,“java.util.MissingFormatArgumentException:Format specifier: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);
}
答案 0 :(得分:2)
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
格式占位符,但您只提供五个值。
答案 1 :(得分:1)