마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 jsp 연동해서 회원 가입 할때 충복 검사 하려고 합니다..

0 추천
<%@page import="org.jdom2.output.XMLOutputter"%>
<%@page import="org.jdom2.Element"%>
<%@page import="org.jdom2.Document"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/xml; charset=UTF-8"
 pageEncoding="UTF-8" trimDirectiveWhitespaces="true"%>
<%
 String classify = request.getParameter("classify");

 
  String user_id = request.getParameter("userid");
  String user_pwd = request.getParameter("userpwd");
  String user_name = request.getParameter("username");
  String user_hp = request.getParameter("userhp");
  String user_email = request.getParameter("useremail");
  String user_birth = request.getParameter("userbirth");
  String user_gender = request.getParameter("usergender");
  String user_mode = request.getParameter("usermode");
  
  if (user_id == null)
   user_id = "";
  if (user_pwd == null)
   user_pwd = "";

  //[!] DB 접속을 통해서 로그인 가능여부 체크
  String dbUser = "test";
  String dbPwd = "test";
  String dbUrl = "jdbc:oracle:thin:@127.0.0.1:1521";
  Class.forName("oracle.jdbc.driver.OracleDriver");
  Connection conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
  String sql = "select userid from user_ where userid=?";
  
  PreparedStatement pstmt = conn.prepareStatement(sql);
  pstmt.setString(1, user_id);
  ResultSet rs = pstmt.executeQuery();

  String rtncode = "";
  String msg = "";

  if (rs.next()) { //결과가 있으면 id 중복
   rtncode = "100";
   msg = "id 중복";
  } else {
   String sql2 = "insert into user_(userid, userpwd, user_name, user_hp, user_email, user_birth, user_gend, user_div) values(?,?,?,?,?,?,?,?)";
   PreparedStatement pstmt2 = conn.prepareStatement(sql2);
   pstmt2.setString(1, user_id);
   pstmt2.setString(2, user_pwd);
   pstmt2.setString(3, user_name);
   pstmt2.setString(4, user_hp);
   pstmt2.setString(5, user_email);
   pstmt2.setString(6, user_birth);
   pstmt2.setString(7, user_gender);
   pstmt2.setString(8, user_mode);
   ResultSet rs2 = pstmt2.executeQuery();

   rtncode = "200";
   msg = "등록 완료 되었습니다.";
  }

  Document document = new Document();
  //root 노드 생성
  Element root = new Element("join");
  document.setRootElement(root);

  //<result> 엘리먼트 생성 
  Element element = new Element("result");
  //노드에 내용 추가
  element.addContent(rtncode);
  //노드를 root에 추가
  root.addContent(element);

  //<msg> 엘리먼트 생성 
  element = new Element("msg");
  element.addContent(msg);
  root.addContent(element);

  //JDOM 문서를 바이트 문자열로 출력
  XMLOutputter outputter = new XMLOutputter();
  String returnxml = outputter.outputString(document);
 
%>
<%=returnxml%>

위와 같이 진행 하려고 하는데 아이디 중복 검사를 제가 생각한 방식이 select 해서 처음 아이디를 받아와서 rs.next 로 조건을 검사 한후 진행 하려고 합니다.

제가 현제 하고 있는 방식이 맞는건가요? 아니면 어떤식으로 아이디 검사를 통해 등록 처리로 가게 해야 할까요

탑돼지 (120 포인트) 님이 2013년 12월 21일 질문

1개의 답변

0 추천
맞는것 같은데요..

 

select로 count 구해서 0이면 등록 아니면 중복..
정품인증 (1,750 포인트) 님이 2013년 12월 23일 답변
...