【发布时间】:2018-02-27 21:51:36
【问题描述】:
我为我的评估创建了自定义应用程序, 所以一些输入和生成的数据是浮点值, 所以我不会将这些数据保存在 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全部语句
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
【问题讨论】:
-
您的列数据类型是什么?显示 CREATE TABLE 语句。
-
CREATE TABLE
tbl_stock(Noint(11) NOT NULL,ITEM_CODEvarchar(45) DEFAULT NULL,DISCRIPTIONvarchar(45) DEFAULT NULL,PREVIOUS_BIN_BALANCEdecimal(2 ,0) DEFAULT NULL,DATEvarchar(45) DEFAULT NULL,ISSUED_QUANTATYdecimal(2,0) DEFAULT NULL,ISSUED_INVOICE_NOvarchar(45) DEFAULT NULL,ARRIVED_QUANTATYdecimal(2,0) DEFAULT NULL,ARRIVED_INVOICE_NOvarchar(45) DEFAULT NULL,FINAL_BINCARD_BALANCEdecimal(2,0) DEFAULT NULL, PRIMARY KEY (No) ) ENGINE=InnoDB DEFAULT CHARSET=utf8$$ -
DECIMAL(2,0)基本上是一个整数,所以请尝试使用DECIMAL(6,2),这将允许您保留 2 个小数位......或者read the manual