我为评估创建自定义应用, 所以一些输入和生成的数据是浮动值, 所以我不会将这些数据保存在MySQL数据库中......就像在原始值中一样
作为示例 - 10.25必须保存10.25而不是10.00 不幸的是,它保存为10.00(如何将数据保存为10.25) 但在这种情况下,我的代码保存了以前的值,
这是我使用的代码 -
connectDB();
try{
String value1 = txt_search_code.getText();
String value2 = txt_item_code.getText();
String value3 = txt_discription.getText();
String value4 = txt_bin_balance.getText();
String value5 = txt_date.getText();
String value6 = txt_issued_quantaty.getText();
String value7 = txt_issued_inno.getText();
String value8 = txt_arrived_quantaty.getText();
String value9 = txt_arrived_inno.getText();
String value10 = txt_final_bin_balance.getText();
String sql = "Update tbl_stock set No='"+value1+"',ITEM_CODE='"+value2+"',DISCRIPTION='"+value3+"',PREVIOUS_BIN_BALANCE='"+value4+
"',DATE='"+value5+"',ISSUED_QUANTATY='"+value6+"',ISSUED_INVOICE_NO='"+value7+"',ARRIVED_QUANTATY='"+value8+"',ARRIVED_INVOICE_NO='"+value9+"',FINAL_BINCARD_BALANCE='"+value10+"'WHERE No='"+value1+"' ";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.execute();
JOptionPane.showMessageDialog(null, " Your new records saved Succsessfully!!");
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
closeDB();
这是数据库的MYSQL all语句
SELECT * FROM db_biling.tbl_stock;
tbl_stock.No, tbl_stock.ITEM_CODE, tbl_stock.DISCRIPTION,
tbl_stock.PREVIOUS_BIN_BALANCE, tbl_stock.DATE,
tbl_stock.ISSUED_QUANTATY, tbl_stock.ISSUED_INVOICE_NO,
tbl_stock.ARRIVED_QUANTATY, tbl_stock.ARRIVED_INVOICE_NO,
tbl_stock.FINAL_BINCARD_BALANCE FROM db_biling.tbl_stock;
那么如何将数据保存为原始值 请帮我解决这个问题 请举个例子 感谢
更新
CREATE TABLE tbl_stock (
No int(11) NOT NULL,
ITEM_CODE varchar(45) DEFAULT NULL,
DISCRIPTION varchar(45) DEFAULT NULL,
PREVIOUS_BIN_BALANCE decimal(2,0) DEFAULT NULL,
DATE varchar(45) DEFAULT NULL,
ISSUED_QUANTATY decimal(2,0) DEFAULT NULL,
ISSUED_INVOICE_NO varchar(45) DEFAULT NULL,
ARRIVED_QUANTATY decimal(2,0) DEFAULT NULL,
ARRIVED_INVOICE_NO varchar(45) DEFAULT NULL,
FINAL_BINCARD_BALANCE decimal(2,0) DEFAULT NULL,
PRIMARY KEY (No)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
答案 0 :(得分:0)
我认为问题在于数据类型的精确度
如果它是DECIMAL(10,2),它将总共有10个数字,其中2个是十进制值(2个十进制舍入意味着10.215保存为10.22,10.214变为10.21)。
在你的情况下,你使用了十进制(2,0)..所以10.25将变为10。