-
카테고리
-
세부 분야
웹 개발
-
해결 여부
미해결
글쓰기 버튼을 누르면 자꾸 글쓰기에 실패했습니다 라는 오류메세지가 떠요
18.03.15 18:56 작성 조회수 357
0
강사님이 실수한 수정사항을 다 고쳤는데도 데이터베이스 오류가 뜨네요.
저는 오라클을 써서 현재시간 구해오는 함수를
select sysdate from dual로 썻는데 여기 부분이 오류인가요?
오류를 못찾겠습니다 ㅠㅠ
package bbs;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class BbsDAO {
private Connection conn;
/private PreparedStatement pstmt; 데이터간 마찰이 일어나지 않도록 지워준다 /
private ResultSet rs;
public BbsDAO() { try {
String dbURL = "jdbc:oracle:thin:@localhost:1521:orcl";
String driver = "oracle.jdbc.driver.OracleDriver";
String dbID = "scott";
String dbPassword = "tiger";
Class.forName(driver);
conn = DriverManager.getConnection(dbURL,dbID, dbPassword);
} catch(Exception e){
e.printStackTrace();
}
}
public String getDate() { //현제의 시간을 가져오는 메소드
String sql = "select sysdate from dual";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next()) {
return rs.getString(1);
}
} catch (Exception e) {
e.getStackTrace();
}
return ""; //데이터베이스 오류를 알려줌
}
public int getNext() { //bbsID는 숫자이므로 내림차순해서 가져온다
String sql = "select bbsID from bbs order by bbsID desc";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next()) {
return rs.getInt(1) + 1; // 나오는 결과에 1을 더해서 다음 번호를 가져온다
}
return 1; // 게시글이 하나도 없을때 1로 한다
} catch (Exception e) {
e.getStackTrace();
}
return -1; //데이터베이스 오류를 알려줌
}
public int write(String bbsTitle, String userID, String bbsContent) {
String sql = "insert into bbs values(?,?,?,?,?,?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, getNext());
pstmt.setString(2, bbsTitle);
pstmt.setString(3, userID);
pstmt.setString(4, getDate());
pstmt.setString(5, bbsContent);
pstmt.setInt(6, 1);
return pstmt.executeUpdate();
} catch (Exception e) {
e.getStackTrace();
}
return -1; //데이터베이스 오류를 알려줌
}
}
답변을 작성해보세요.
0
0
성장시켜주세요
질문자2018.03.16
아 해결 됬네요ㅋㅋㅋㅋ 시간 구하는 sql문을
select to_char(sysdate,'yy-mm-dd') from dual 이라고 써야하네요 ㅋㅋㅋ
값을 String으로 받으니까 변환해서 받아요죠;;
답변 2