최대 1 분 소요

데이터 수정을 위한 쿼리

package ex1;

import java.beans.Statement;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
//
public class Program3 {
	public static void main(String[] args) throws  SQLException, ClassNotFoundException{
  
	String title = "TEST3";
	String content = "HAHAHA";
	String files = "";
	int id = 3;


    String url ="jdbc:oracle:thin:@localhost:1521/orcl";   
	String sql = "UPDATE notice "
			+ "SET"  // 덧셈을 하고 나면은 결과가 notice set이 되므로 결과가 
			+ "    title = ?,"
			+ "    content=?,"
			+ "    files = ?"
			+ "WHERE id =?";
	
	
	
	
			
	Class.forName("oracle.jdbc.driver.OracleDriver"); 
	Connection con = DriverManager.getConnection(url,"eunji","1234"); 
//	sql.Statement st =con.createStatement();
	//st.execute query,update를 실행 할때 넘겼는데 
	PreparedStatement st=con.prepareStatement(sql); //prepare 미리 준비해서 실행하라 statement자체가 쿼리문을 가지고 있다
	st.setString(1, title);
	st.setString(2, content);
	st.setString(3, files);
	st.setInt(4, id);
	
//prepare쓸때는 sql을 쓰면 안된다
	int result = st.executeUpdate();
	System.out.println(result);
	

	
	st.close();
	con.close();
	}
}



Exception in thread "main" java.sql.SQLSyntaxErrorException: ORA-00971: SET 키워드가  습니다 //오류가 발생하게 된다

 


    String url ="jdbc:oracle:thin:@localhost:1521/orcl";   
	String sql = "UPDATE notice " // 쿼리부분 잘 신경 써야한다 문자열문자열 사이에 있는 빈공백을 확인해야한다
			+ "SET"  
			+ "    title = ?,"
			+ "    content=?,"
			+ "    files = ?"
			+ "WHERE id =?";

카테고리:

업데이트:

댓글남기기