2017-09-19 1 views
-1

내 평가, 에 대한 사용자 정의 응용 프로그램을 만듭니다. 그래서 일부 입력 및 생성 된 데이터는 부동 값으로, 입니다. 그래서 MySQL 데이터베이스에 해당 데이터를 저장하지 않을 것입니다 ... 원래 값원래 사용자 입력으로 mysql 데이터베이스에 데이터를 저장하는 방법

examples- 10.25로

는 10.00 불행하게도,이 10.00로 저장하지 10.25를 저장해야합니다 (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; 

의 모든 진술

UPDATE

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

무엇 당신의 열 데이터 유형은? CREATE TABLE 문을 표시하십시오. – CBroe

+0

)() 2,0를 'ITEM_CODE'의 VARCHAR (45) DEFAULT NULL의 'DISCRIPTION'의 VARCHAR (45) DEFAULT NULL의 'PREVIOUS_BIN_BALANCE'의 진수를 NULL NOT TABLE'tbl_stock' ( 'No'의 INT (11 CREATE DEFAULT의 NULL, 'DATE'의 VARCHAR (45) 초기 NULL, 'ISSUED_QUANTATY' 진수 (2,0) 초기 NULL, 'ISSUED_INVOICE_NO'의 VARCHAR (45) 초기 NULL, 'ARRIVED_QUANTATY' 진수 (2,0) 초기 NULL = UTF8 $$ –

+0

''DECIMAL ARRIVED_INVOICE_NO'의 VARCHAR (45) 초기 NULL, 'FINAL_BINCARD_BALANCE' 소수 (2,0) 초기 NULL, PRIMARY KEY ('No') ) ENGINE = DEFAULT 이노 캐릭터 세트 (2, 0)'은 기본적으로 정수이므로'D ECIMAL (6,2)'는 소수점 이하 두 자리를 허용합니다 ... 아니면 [매뉴얼을 읽으십시오] (https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics. HTML) – RiggsFolly

답변

0

나는 문제가 사전에 생각 데이터 유형의 구분

십진수 (10, 2) 인 경우 십진수 값이 2 인 10 개의 숫자 (10.215가 10.22로 저장되고 10.214가 10.21이됨을 의미하는 십진수 반올림 2 개 포함)을 갖습니다. 귀하의 경우

, 당신은 너무 10.25이 될 것입니다 .. 소수 (2,0)를 사용하는 10

심판 : https://stackoverflow.com/a/13501505/7016969

관련 문제