홈>
"지불"을 클릭하면 POS 시스템이 어떤 형태의 계산을 수행합니다. "지불"버튼을 누르면 "지불"텍스트 필드의 숫자 값이 "소계"텍스트 필드에있는 값에서 공제되어야하며,이 데이터와 동시에 "잔액"텍스트 필드에 잔액이 표시됩니다. 해당 열의 "판매"테이블에 삽입해야합니다. 내 데이터베이스의 "balance"열의 길이가 INT 데이터 유형 11 인 경우에도 "balance"텍스트 필드의 값이 해당 열에 삽입되지 않습니다.
참고 : 재미있는 점은 "balance"의 데이터 유형을 varchar로 변경하면 데이터를 삽입하지만 원하는 실제 값 대신 0을 표시한다는 것입니다.
아래는 나의 판매 방법입니다
오류는
와이즈 비즈com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect integer value: '' for column 'balance' at row 1']Image
private void sales(){
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd");
LocalDateTime now = LocalDateTime.now();
String date = dtf.format(now);
String subT = subtotal_textfield.getText();
String payinKsh = pay_textfield.getText();
String bal = balance_textfield.getText();
int lastinsertID = 0;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/supermarket", "root","");
String query = "insert into sales(date,subtotal,pay,balance)values(?,?,?,?)";
pst = conn.prepareStatement(query, Statement.RETURN_GENERATED_KEYS);
pst.setString(1, date);
pst.setString(2, subT);
pst.setString(3, payinKsh);
pst.setString(4, bal);
pst.executeUpdate();
ResultSet generatedKey = pst.getGeneratedKeys();
if (generatedKey.next()) {
lastinsertID = generatedKey.getInt(1);
}
JOptionPane.showMessageDialog(this, lastinsertID);
} catch (ClassNotFoundException ex) {
Logger.getLogger(POS.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(POS.class.getName()).log(Level.SEVERE, null, ex);
}
}
- 답변 # 1
관련 자료
- python - mysql의 sqlite_master 시스템 테이블과 동등한 것은 무엇입니까?
- javascript - 변수를 통해 MySQL 데이터베이스에 데이터를 삽입하는 방법은 무엇입니까?
- php - 각 행에 많은 데이터를 포함하는 행 chekecd가 많은 양식에서 mysql 데이터베이스를 업데이트하는 방법
- java - 어떻게? Retrofit2를 사용하여 Android에서 mySQL 데이터베이스로 현재 날짜 삽입
- php - MySQL 데이터베이스에서 특정 사용자 레코드 삭제
- 파이썬은 mySQL 데이터베이스를 텍스트 파일에 연결합니다
- delphi - My ClientDataSetApplyUpdates가 MySQL 데이터베이스 테이블에 게시되지 않습니까?
- mysql 데이터베이스 파이썬을 만들 수 없습니다 ("서버 localhost에 연결할 수 없습니다")
- PHP에서 mySQL 데이터베이스와 해당 파일 (하이퍼 링크)에서 파일 이름의 HTML 테이블을 생성하는 방법
- vb.net - Visual Studio 또는 Visual Basic을 사용하여 xampp에서 MySQL 데이터베이스 업데이트
- java - Room 데이터베이스를 MySql Workbench와 연결하는 방법이 있습니까?
- sql - 다른 스키마 테이블에서 mysql 데이터베이스에 값을 삽입하는 방법은 무엇입니까?
- java - MySQL 데이터베이스의 내용보기
- node.js - Node Express 앱에서 MySQL 데이터베이스에 액세스 할 수 없습니다
- python - mysql 데이터베이스의 다른 행에 정보 행을 삽입하는 방법은 무엇입니까?
- 한 데이터베이스에서 다른 MYSQL로 데이터를 주기적으로 복사
- MYSQL 데이터베이스 II에서 집계 된 값 필터링
- 프로그래밍 방식으로 nodejs의 데이터베이스 (MySQL)에서 특정 테이블 만 내보내는 방법은 무엇입니까?
- PHP 준비된 통계를 사용하여 mysql 데이터베이스에 이미지 (blob) 삽입
- Javascript를 사용하여 MySQL 데이터베이스에 확인란 배열을 저장하는 방법
관련 질문
- java : 웹 앱을 처음 시작할 때 데이터베이스를 만들고 채우려면 어떻게 해야 합니까?
- java.sql.SQLException: 선택된 데이터베이스가 없지만 URL에 있습니다.
- java : 데이터 잘림: 1행의 'column_name' 열에 대한 데이터가 너무 깁니다.
- java : MySQL은 테이블에 새 행을 추가하는 동안 기본값을 설정하지 않습니다.
- java : 수동으로 Spring Boot 캐시 지우기
- java : MySQL 무작위 선택
- java : 하나의 jdbc 연결 개체를 생성했지만 연결이 너무 많습니다.
- java : com.postgres.Driver가 호출되어야 할 때 com.mysql.cj.jdbc.Driver가 호출되는 이유
- java : 비동기 방식으로 커밋한 후 스프링 부트 트랜잭션이 계속 실행됨
- mysql : Azure VM에서 Wildfly 서버를 확장하는 방법
데이터 유형이 일치하지 않아 발생합니다. 삽입을 수행하기 위해 유사하거나 일치하는 동일한 데이터 유형으로 가져와야 할 것. 당신의
balance
를 유지INT
로 열 당신이 언급 한 다음bal
를 변환int
에 대한 문자열 값 이렇게 :그러므로
이 내용->(편집 됨)
또는
balance
변경 와이즈 비즈column
로varchar
를 삽입하십시오 문자열 값으로하지만 우선bal
에서 무엇을 얻었는지 확인하십시오. 변수.bal