티스토리 뷰

JDBC

데이터 수정

Programmers 2021. 4. 30. 14:20
반응형

Program2.java를 복사해서 Program3.java파일을 생성 후 실습

데이터 수정 전

데이터 수정 전

 

자바 수정 코드(오류포함)

package ex1;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Program3 {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		/*title, content, files, id를 정의*/
		String title = "test3";
		String content ="hahaha";
		String files = "";
		int id = 6;	//id가 6인 데이터를 수정
		
		
		String url = "jdbc:oracle:thin:@192.168.219.103:1521/XE";
		
		/*UPDATE SQL문 */
		String sql = "UPDATE notice"
				+ "SET title=?,"
				+ "    content=?,"
				+ "    files=?"
				+ "WHERE id=?";	//PreparedStatement를 통한 전달
		
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "corini", "111111");
		
		/*PreparedStatement도구 사용*/
		PreparedStatement st = con.prepareStatement(sql);	
			//sql문 prepareStatement를 이용해서 st에 저장
		
		/*preparedStatement 저장 */
		st.setString(1, title);
		st.setString(2, content);
		st.setString(3, files);
		st.setInt(4, id);	//id는 int형이기 때문에 setInt로 저장
		
		/*preparedStatement를 사용 할때에는 sql문을 전달하지 않는다! 이미 전달 되어있다.*/
		int result = st.executeUpdate();
			//excuteUpdate는 int로 실행된 row값을 result에 전달
		
		System.out.println(result);
	
				
		st.close();
		con.close();
			
	}

}

수정(UPDATE)은 삽입(INSERT)과 거의 동일한 코드를 사용한다. 쿼리문과 그에 맞게 자바코드만 수정해주면 된다.

오류 발생

 

오류: "SET 키워드가 없습니다"

		/*UPDATE SQL문 */
		String sql = "UPDATE notice"
				+ "SET title=?,"
				+ "    content=?,"
				+ "    files=?"
				+ "WHERE id=?";	//PreparedStatement를 통한 전달

자바문 안의 쿼리를 살펴보면 "UPDATE notice"와 "SET title=?"를 다시 SQL로 작성해보자.
UPDATE noticeSET title=? 이라는 코드가 된다.
그래서 자바에 SQL을 사용 할때에는 SQL문으로 다시 생각해보아야 한다.

		/*UPDATE SQL문 */
		String sql = "UPDATE notice "
				+ "SET title=?,"
				+ "    content=?,"
				+ "    files=?"
				+ "WHERE id=?";	//PreparedStatement를 통한 전달

이렇게 "UPDATE notice(SPACE)"를 추가

 자바 수정 실행 후1

 

데이터 수정 후

e자바 수정 실행 후2

UPDATE 코드가 정상적으로 작동

반응형
댓글
공지사항