programing

테이블에서 두 개의 날짜 시간을 요청하지만 하나만 받는 경우

testmans 2023. 8. 8. 20:07
반응형

테이블에서 두 개의 날짜 시간을 요청하지만 하나만 받는 경우

데이터베이스에서 두 개의 날짜/시간 값을 가져오려고 하는데 한 번에 하나만 가져옵니다.즉, 쿼리에서 열을 제거하면(begintijd) 다른 열(eindtijd)을 얻을 수 있습니다.

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "username", "password");
resultTable = new ArrayList<>();
Statement statement = con.createStatement();
statement.execute(query)
ResultSet result = statement.getResultSet();
ResultSetMetaData resultData = result.getMetaData();
while (result.next()) {
  Map<String, Object> row = new HashMap<>();
  for (int i = 1; i <= resultData.getColumnCount(); i++) {
    String type = resultData.getColumnTypeName(i);
    switch (type) {
      case "INT":
        row.put(resultData.getColumnName(i), result.getInt(i));
        break;
      case "VARCHAR":
      case "CHAR":
      case "TEXT":
        row.put(resultData.getColumnName(i), result.getString(i));
        break;
      case "DATETIME":
        row.put(resultData.getColumnName(i), new java.util.Date(result.getTimestamp(i).getTime()));
        break;
      default:
        throw new IllegalArgumentException("Data type not supported");
    }
    i++;
  }
  resultTable.add(row);
}

이것이 제 주요 내용입니다.

String query = "SELECT begintijd, eindtijd, lesID FROM calendar WHERE lesID = 1";
ArrayList<Map<String, Object>> resultTable = Database.executeStatement(query);
System.out.println(resultTable);

결과적으로 다음과 같은 메시지가 표시됩니다(오류 없음).

[{begintijd=Tue Apr 07 08:30:00 CEST 2020, lesID=1}]

다음은 데이터베이스의 스크린샷입니다.

Image of my database

java.util을 구현하는 데 문제가 있습니까?데이트? 아니면 뭐?

그래서 난 바보야.루프에 대해 증분을 사용한 다음 각 사이클이 끝날 때마다 인덱스를 다시 증분하여 기본적으로 짝수 열을 건너뜁니다.

언급URL : https://stackoverflow.com/questions/61081461/requesting-two-datetimes-out-of-a-table-but-only-getting-one

반응형