반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- isinterrupted()
- include 지시자
- char[] String 형변환
- StringWriter
- MemoryStream
- 아이디중복
- include지시자
- 메모리스트림
- 상관서브쿼리
- 스레드그룸
- ThreadGroup()
- 리눅스세팅
- Linux셋팅
- Linux세팅
- StringReader
- String char[] 형변환
- InputDialog
- 상관 서브 쿼리
- interrupt()
- sleep()메소드
- ID중복
- Daemon()
- ObjectInputStream
- include액션태그
- first-child
- 동기화
- 리눅스셋팅
- interrupted()
- 표현 언어
- first-of-child
Archives
- Today
- Total
다연이네
[days06] 회원 가입 - ID 중복 체크 버튼 테스트 본문
반응형
1. 프로시저 생성
create or replace procedure up_emp_logon
(
pempno in number --id in
, pename in varchar2 --pwd in
, plogoncheck out number -- 1,2,0 out
)
is
vempno number(1) ; -- 0 1(아이디존재)
vename emp.ename%type;
begin
select count(*) into vempno
from emp
where empno = pempno;
if vempno = 0 then
plogoncheck := 1; --아이디가 존재하지 않는 경우 (아이디 사용 가능)
else
select ename into vename
from emp
where empno = pempno;
if pename = vename then
plogoncheck := 0; -- 로그인 성공
else
plogoncheck := 2; --비밀번호가 틀린 경우
end if;
end if;
--exception
end;
2. 클래스 생성
package days06;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Scanner;
import com.util.DBConn;
public class Ex03 {
public static void main(String[] args) {
// 문제) 로그인
//아이디 [empno]
//비밀번호 [ename]
//[로그인][회원가입]
//프로시저 생성 up_emp_logon
//매개변수 입력용 empno, ename
// 출력용 0(로그인 성공) 1(아이디 존재하지 않음) 2(아이디는 존재하나 비번 맞지 않음)
System.out.print("> 로그인 체크할 empno, ename input?");
Scanner scanner = new Scanner(System.in);
int empno = scanner.nextInt();
String ename = scanner.next();
Connection con = null;
CallableStatement cstmt = null;
String sql = "{call up_emp_logon(?,?, ?)}";
con = DBConn.getConnection();
int logonCheck = 0;
try {
cstmt = con.prepareCall(sql);
//?
cstmt.setInt(1, empno);
cstmt.setString(2, ename);
cstmt.registerOutParameter(3, oracle.jdbc.OracleTypes.INTEGER);
cstmt.executeQuery();
logonCheck = (int) cstmt.getObject(3);
if(logonCheck ==1 ) {
System.out.println("아이디가 존재하지 않습니다");
}else if(logonCheck ==0) {
System.out.println("로그인 성공");
}else if(logonCheck ==2) {
System.out.println("비밀번호 잘못");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
cstmt.close();
DBConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}//finally
}//main
}
반응형
'JDBC' 카테고리의 다른 글
[days06] 자바에서 트랜잭션 처리 (0) | 2020.11.30 |
---|---|
[days06] 부서번호를 입력받아 해당 사원 정보 출력하기 (0) | 2020.11.30 |
[days05] 저장 프로시저 (stored procedure)를 사용하는 CallableStatement 예제 (0) | 2020.11.29 |
[days05] ResultSet 결과물에 대한 정보 추출, 사용 예제, ResultSetMetaData (0) | 2020.11.29 |
[days04] 게시판 만들기 (0) | 2020.11.26 |
Comments