Java의 데이터베이스에서 테이블의 행을 읽을 수 없습니다.

user1

인벤토리 모델을 구현하는 코드를 작성 중입니다. 그 일환으로 데이터베이스에서 항목을 가져 와서 항목의 속성을 설정하고 해당 항목 개체를 목록에 추가하여 목록에서 몇 가지 기능을 수행해야합니다. 데이터베이스에는 3 개의 테이블이 있으며 각 테이블에는 3 개의 행이 있습니다. 그러나 문제는 마지막 테이블의 마지막 행만 9 번 모두 삽입된다는 것입니다. 코드에서 문제의 위치를 ​​찾도록 도와주세요. readAllItemsFromDb 메서드는 위에서 언급 한 작업을 수행하고 Item 객체 목록을 반환해야합니다. Item 클래스에는 ID, 설명, 무게, 가격, 제조일, useBeforeMonths 및 해당 집합 및 가져 오기 메서드와 같은 필드가 포함됩니다.

방법에 대한 내 코드는 다음과 같습니다.

public List<Item> readAllItemsFromDb() {
    // TODO Auto-generated method stub
    List<Item> list=new ArrayList<Item>();
    Item item=new Item();
    Milk milk=new Milk();
    Cheese cheese=new Cheese();
    Wheat wheat=new Wheat();

    String cheese_type=new String();
    String milk_type=new String();
    String wheat_type=new String();
    String ingred_cheese=new String();

    String cheese_query="select id,description,weight,price,mfg_date,UseBeforeInMonths from cheese_tbl;";
    String milk_query="select id,description,weight,price,mfg_date,UseBeforeInMonths from milk_tbl;";
    String wheat_query="select id,description,weight,price,mfg_date,UseBeforeInMonths from wheat_tbl;";

    try {
        con=dcm.getConnection();//Theres' no problem with Connection 
        st=con.createStatement();
        rs=st.executeQuery(cheese_query);
        while(rs.next()){
            item.setId(rs.getInt(1));
            item.setDescription(rs.getString(2));
            item.setWeight(rs.getFloat(3));
            item.setPrice(rs.getFloat(4));
            item.setManufacturingDate(rs.getDate(5));
            item.setUseBeforeMonths(rs.getInt(6));

            list.add(item);
        }

        rs=st.executeQuery(milk_query);
        while(rs.next()){
            item.setId(rs.getInt(1));
            item.setDescription(rs.getString(2));
            item.setWeight(rs.getFloat(3));
            item.setPrice(rs.getFloat(4));
            item.setManufacturingDate(rs.getDate(5));
            item.setUseBeforeMonths(rs.getInt(6));
            list.add(item);

        }

        rs=st.executeQuery(wheat_query);
        while(rs.next()){
            item.setId(rs.getInt(1));
            item.setDescription(rs.getString(2));
            item.setWeight(rs.getFloat(3));
            item.setPrice(rs.getFloat(4));
            item.setManufacturingDate(rs.getDate(5));
            item.setUseBeforeMonths(rs.getInt(6));

            list.add(item); 
        }


    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return list;
}
User404

while 루프에서 각 반복이 시작될 때 새 Item 객체를 만들어야합니다.

   while(rs.next()){
        item = new Item();
        item.setId(rs.getInt(1));
        item.setDescription(rs.getString(2));
        item.setWeight(rs.getFloat(3));
        item.setPrice(rs.getFloat(4));
        item.setManufacturingDate(rs.getDate(5));
        item.setUseBeforeMonths(rs.getInt(6));

        list.add(item);
    }

    rs=st.executeQuery(milk_query);
    while(rs.next()){
        item = new Item();
        item.setId(rs.getInt(1));
        item.setDescription(rs.getString(2));
        item.setWeight(rs.getFloat(3));
        item.setPrice(rs.getFloat(4));
        item.setManufacturingDate(rs.getDate(5));
        item.setUseBeforeMonths(rs.getInt(6));

        list.add(item);
    }

    rs=st.executeQuery(wheat_query);
    while(rs.next()){
        item = new Item();
        item.setId(rs.getInt(1));
        item.setDescription(rs.getString(2));
        item.setWeight(rs.getFloat(3));
        item.setPrice(rs.getFloat(4));
        item.setManufacturingDate(rs.getDate(5));
        item.setUseBeforeMonths(rs.getInt(6));

        list.add(item); 
    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Java의 데이터베이스에서 테이블의 행을 읽을 수 없습니다.

분류에서Dev

내 프로그램이 Android의 sqlite 데이터베이스에서 테이블을 찾을 수 없습니다.

분류에서Dev

Athena에서 서로 다른 두 데이터베이스의 두 테이블을 조인 할 수 없습니다.

분류에서Dev

iOS의 sqlite 데이터베이스에서 테이블을 삭제할 수 없습니다.

분류에서Dev

SQLite 데이터베이스에서 읽을 수 없습니다.

분류에서Dev

데이터베이스 PHP의 테이블에 값을 바인딩 할 수 없습니다.

분류에서Dev

PHP / MySQL에서 데이터베이스 테이블의 모든 행에 테이블을 만들거나 삽입 할 수 있습니까?

분류에서Dev

PHP / MySQL에서 데이터베이스 테이블의 모든 행에 테이블을 만들거나 삽입 할 수 있습니까?

분류에서Dev

JSF의 Arraylist에서 데이터 테이블을 채울 수 없습니다.

분류에서Dev

데이터베이스에서 테이블의 여유 시간을 어떻게 얻을 수 있습니까?

분류에서Dev

Laravel 4.2-데이터베이스에서 임의의 행을 가져올 수 없습니다.

분류에서Dev

동일한 데이터베이스의 다른 테이블에서 수량과 금액을 곱합니다.

분류에서Dev

데이터베이스에서 행을 업데이트 할 수 없습니다.

분류에서Dev

C #의 SQL Server 데이터베이스에서 읽을 수 없음

분류에서Dev

authors 테이블 (Laravel)의 행을 볼 수 없습니다.

분류에서Dev

Java IO에서 데이터 입력 스트림을 읽을 수 없습니다.

분류에서Dev

postgresql에서 다른 데이터베이스의 테이블을 사용하면서 동일한 데이터베이스에 테이블이 존재한다는 인상을 줄 수 있습니까?

분류에서Dev

Derby 데이터베이스에 테이블을 찾을 수 없습니다

분류에서Dev

내 SQL 데이터베이스에서 10 개의 행만 읽을 수있는 방법은 무엇입니까?

분류에서Dev

iOS에서 sqlite3 데이터베이스 테이블을 업데이트 할 수 없습니다.

분류에서Dev

SQLite 데이터베이스에서 행을 삭제할 수 없습니다.

분류에서Dev

데이터베이스에서 행을 삭제할 수 없습니다.

분류에서Dev

데이터베이스에서 행을 삭제할 수 없습니다.

분류에서Dev

MySQL 데이터베이스에서 행을 가져올 수 없습니다.

분류에서Dev

각도 데이터 테이블 : 오류 오류 : 정의되지 않은 'then'속성을 읽을 수 없습니다.

분류에서Dev

데이터베이스에 여러 테이블을 만들 수 없습니다.

분류에서Dev

데이터베이스에 테이블을 생성 할 수 없습니다.

분류에서Dev

데이터베이스 테이블에 값을 삽입 할 수 없습니다.

분류에서Dev

쿼리가 실행되는 다른 데이터베이스에있는 테이블의 행 수를 어떻게 얻을 수 있습니까?

Related 관련 기사

  1. 1

    Java의 데이터베이스에서 테이블의 행을 읽을 수 없습니다.

  2. 2

    내 프로그램이 Android의 sqlite 데이터베이스에서 테이블을 찾을 수 없습니다.

  3. 3

    Athena에서 서로 다른 두 데이터베이스의 두 테이블을 조인 할 수 없습니다.

  4. 4

    iOS의 sqlite 데이터베이스에서 테이블을 삭제할 수 없습니다.

  5. 5

    SQLite 데이터베이스에서 읽을 수 없습니다.

  6. 6

    데이터베이스 PHP의 테이블에 값을 바인딩 할 수 없습니다.

  7. 7

    PHP / MySQL에서 데이터베이스 테이블의 모든 행에 테이블을 만들거나 삽입 할 수 있습니까?

  8. 8

    PHP / MySQL에서 데이터베이스 테이블의 모든 행에 테이블을 만들거나 삽입 할 수 있습니까?

  9. 9

    JSF의 Arraylist에서 데이터 테이블을 채울 수 없습니다.

  10. 10

    데이터베이스에서 테이블의 여유 시간을 어떻게 얻을 수 있습니까?

  11. 11

    Laravel 4.2-데이터베이스에서 임의의 행을 가져올 수 없습니다.

  12. 12

    동일한 데이터베이스의 다른 테이블에서 수량과 금액을 곱합니다.

  13. 13

    데이터베이스에서 행을 업데이트 할 수 없습니다.

  14. 14

    C #의 SQL Server 데이터베이스에서 읽을 수 없음

  15. 15

    authors 테이블 (Laravel)의 행을 볼 수 없습니다.

  16. 16

    Java IO에서 데이터 입력 스트림을 읽을 수 없습니다.

  17. 17

    postgresql에서 다른 데이터베이스의 테이블을 사용하면서 동일한 데이터베이스에 테이블이 존재한다는 인상을 줄 수 있습니까?

  18. 18

    Derby 데이터베이스에 테이블을 찾을 수 없습니다

  19. 19

    내 SQL 데이터베이스에서 10 개의 행만 읽을 수있는 방법은 무엇입니까?

  20. 20

    iOS에서 sqlite3 데이터베이스 테이블을 업데이트 할 수 없습니다.

  21. 21

    SQLite 데이터베이스에서 행을 삭제할 수 없습니다.

  22. 22

    데이터베이스에서 행을 삭제할 수 없습니다.

  23. 23

    데이터베이스에서 행을 삭제할 수 없습니다.

  24. 24

    MySQL 데이터베이스에서 행을 가져올 수 없습니다.

  25. 25

    각도 데이터 테이블 : 오류 오류 : 정의되지 않은 'then'속성을 읽을 수 없습니다.

  26. 26

    데이터베이스에 여러 테이블을 만들 수 없습니다.

  27. 27

    데이터베이스에 테이블을 생성 할 수 없습니다.

  28. 28

    데이터베이스 테이블에 값을 삽입 할 수 없습니다.

  29. 29

    쿼리가 실행되는 다른 데이터베이스에있는 테이블의 행 수를 어떻게 얻을 수 있습니까?

뜨겁다태그

보관