Java executeUpdate()

2023. 2. 20. 17:04Java

프로젝트 내 src 내 javabasic 패키지 내 JdbcEx5.java

package javabasic;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class JdbcEx5 {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		Class.forName("oracle.jdbc.driver.OracleDriver");
		String url = "jdbc:oracle:thin:@localhost:1521:orcl";
		Connection conn = DriverManager.getConnection(url, "scott", "a1234");
		System.out.println("접속 성공!!!");

//		Statement stmt = conn.createStatement();
		String sql = "insert into member values(?,?,?,?)";

		PreparedStatement ps = conn.prepareStatement(sql);

		ps.setInt(1, Integer.parseInt(args[0])); // no
		ps.setString(2, args[1]);
		ps.setString(3, args[2]);
		ps.setString(4, args[3]);

//		int n = stmt.executeUpdate(sql);

		int n = ps.executeUpdate();

		System.out.println(n + "개의 로우 변경");

		if (ps != null)
			ps.close();
		if (conn != null)
			conn.close();
	}

}

Eclipse IDE 메뉴에서

Run > Run Configurations... 

Run Configurations 창 오른편 Arguments 탭을 누른다.

Program arguments: 줄 밑 TextArea 영역에 arguments(인수들) 를 입력한다.

각 argument 구분자는 space, tab, enter 를 사용한다.

다음과 같이 입력한다.

10
양호호
010-999-9299
서울시강남구양재동

그런데 맨 마지막 argument 인 주소는 지역크기를 구분할 때 space bar 로 한 칸 띄어쓰기를

해주어야 한다.

그럴 때는 쌍따옴표 안에 띄어쓰기할 문자열을 넣어준다.

위와 같이 쓴것을 아래로 바꾼다.

 

10 양호호 010-999-9299 "서울시 강남구 양재동"

또는

"10" "양호호" "010-999-9299" "서울시 강남구 양재동"

또는

10

양호호

010-999-9299

"서울시 강남구 양재동"

 

TextArea 영역에 위와 같이 입력을 한 후 Apply > Run 버튼을 누른다.

 

실행 결과

접속 성공!!!
1개의 로우 변경

 

 


int java.sql.PreparedStatement.executeUpdate() throws SQLException

executeUpdate() 메서드는 요 PreparedStatement 객체에서 SQL 문을 실행하는데, 고 SQL 문은 반드시 INSERT, UPDATE, 또는 DELETE 와 같이 SQL Data 조작 언어(DML) 문이어야만 한다; 혹은 DDL 문과 같이 아무것도 반환하지 않는 한개의 SQL 문이어야만 한다.

executeUpdate() 메서드는 (1) SQL Data 조작 언어 (DML) 문들로 변경된 열수 와 (2) 아무것도 반환하지 않는 SQL 문들에 대해서는 0 을 반환한다.

 


 

'Java' 카테고리의 다른 글

Java ResultSetMetaData  (0) 2023.02.24
Java Collections class  (0) 2023.02.21
Java execute(String sql)  (0) 2023.02.20
Java executeQuery(String sql)  (0) 2023.02.20
Java while 문 무한 loop 종료  (0) 2023.02.20