특정 고객의 구매 내역을 표시하는 화면을 만들려고합니다. 내 'Sales'테이블에 'TicketNumber', 'CustomerID', 'InventoryNo', 'Description', 'Cost', 'Retail', 'IndividualSaxTotal', 'IndividualTotal', 'SaleSubTotal', 'SaleTax' , 그리고 "SaleTotal".SELECT * FROM table_name WHERE column_name = 'value'를 사용할 수 있습니까? 'value'는 둘 이상의 행에 나타날 수 있습니까?
이 화면에서는 "TicketNumber", "CustomerID", "InventoryNo", "Retail", "IndividualTax"및 "IndividualTotal"만 필요합니다.
지금 당장 고객 ID로 정보를 가져 오려고합니다. 나의 궁극적 인 목표는 테이블에 티켓 번호를 두는 것이지만, 나는 단지 그 번호를 한 번만 나타나기를 원한다. 나는 이것을 이해할 수있을 것이라고 생각한다. 하지만 지금 당장은 이것이 내가 겪고있는 문제입니다.
try {
Class.forName("org.h2.Driver");
Connection connection = DriverManager.getConnection("jdbc:h2:./RetailApplicationDatabase;AUTO_SERVER=TRUE");
String sql;
Statement stmt;
sql = "SELECT distinct TicketNumber FROM Sales WHERE CustomerID = '" + CustomerNoNumberLabel.getText() + "';";
stmt = connection.createStatement();
ResultSet results = stmt.executeQuery(sql);
DefaultTableModel model = (DefaultTableModel) TicketNumberTable.getModel();
String TicketNumber;
while(results.next()) {
TicketNumber = results.getString("TicketNumber");
model.insertRow(TicketNumberTable.getRowCount(), new Object[] {TicketNumber});
}
} catch (SQLException | ClassNotFoundException ex) {
Logger.getLogger(ViewHistoryDialog.class.getName()).log(Level.SEVERE, null, ex);
}
더 많은 결과가 있지만 내가 계속 내 테이블에 행을 삽입하려고합니다. 고객 ID는 고객이 보유한 많은 품목 및 티켓 번호에 나타납니다.
프로그램을 컴파일 할 때 출력 로그에 오류가 표시되지 않지만 테이블에 아무것도 표시되지 않습니다. 나는 그것을하기 위해 노력하고있는 순서일지도 모른다고 생각했었다. 그래서 지금은이 대화 상자에 "Load"라고 쓰여있는 버튼이 있는데,이 버튼을 누르면 위의 코드가 실행된다.
내 문제는 어디에 있습니까? 왜 내가 테이블에 추가되는 것을 보지 못하겠습니까?
도움이 될만한 답변을 미리 보내 주셔서 감사합니다.
EDIT (01/28/2015 - 8:03 AM MST) : 판매가 이미 데이터베이스의 'Sales'테이블에 추가되었습니다. 고객이 재고 번호 1, 2 및 3을 구매했으며 첫 번째 구매 고객이므로 티켓 번호가 1이라고 가정 해 봅시다. '재고'테이블에 3 개의 행이 추가되고 각 재고 번호에는 TicketNumber 열은 세 행 모두에서 '1'값을 갖습니다. 그런 다음이 정보를 검색하여 jTable에 표시하려고합니다. jTable TicketNumberTable에 티켓 번호를 표시하고 싶습니다. 그러나 ResultSet은 티켓 번호를 검색하지 않습니다.
EDIT (01/28/2015 - 오전 8:11 MST) : TicketNumber의 고유 값을 가져 오도록 코드를 변경했습니다. 그러나 이것은 여전히 내 ResultSet을 가져 와서 정보를 검색하기 위해 노력하고 있으므로 필자의 주요 관심사는 아닙니다.
죄송합니다. 명확하지 않았습니다. 판매가 이미 데이터베이스의 '판매'테이블에 추가되었습니다. 고객이 재고 번호 1, 2 및 3을 구매했으며 첫 번째 구매 고객이므로 티켓 번호가 1이라고 가정 해 봅시다. '재고'테이블에 3 개의 행이 추가되고 각 재고 번호에는 TicketNumber 열은 세 행 모두에서 '1'값을 갖습니다. 그런 다음이 정보를 검색하여 jTable에 표시하려고합니다. jTable TicketNumberTable에 티켓 번호를 표시하고 싶습니다. 그러나 ResultSet은 티켓 번호를 검색하지 않습니다. –
@ RyanShukis. . . 'select distinct' 질의는 중복을 얻지 못하는 것에 대한 문제의 절반을 해결해야합니다. jtable 부분에 대해 잘 모르겠습니다. –
좋아, 나는 그 코드를 바꿨다. 하지만 여전히 내 jTable에서 아무것도 볼 수 없습니다. 그게 내 우선적 인 문제 야. 그러나 도움을 주셔서 감사합니다. –