• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

답변달기 Group Order 가 올라가지 않아요...

23.03.14 14:02 작성 조회수 151

0

오라클 PROCEDURE SPEC부분은

PROCEDURE insertBorderReply

(

In_borderId IN VARCHAR2,

In_userId IN VARCHAR2,

In_userIp IN VARCHAR2,

In_title IN VARCHAR2,

In_mytextarea IN VARCHAR2

);

 

오라클 PROCEDURE BODY부분을

PROCEDURE insertBorderReply

(

In_borderId IN VARCHAR2,

In_userId IN VARCHAR2,

In_userIp IN VARCHAR2,

In_title IN VARCHAR2,

In_mytextarea IN VARCHAR2

) IS

lo_group_num NUMBER(10,0);

lo_group_order NUMBER(10,0);

lo_group_tab NUMBER(10,0);

BEGIN

/*답글달고자하는 글의 데이터를 로컬변수에 저장.*/

SELECT

group_num,

group_order,

group_tab

INTO

lo_group_num,

lo_group_order,

lo_group_tab

FROM EGOV_BBS

WHERE BORDERID = In_borderId;

/*기존글 형식을 맞추기위해 업데이트*/

UPDATE EGOV_BBS

set group_order = group_order + 1

WHERE group_num = lo_group_num

AND group_order > lo_group_order;

IF(lo_group_order = 0)

THEN

SELECT

MAX(group_order)

INTO

lo_group_order

FROM EGOV_BBS

WHERE group_num = lo_group_num;

END IF;

/*답글달고자하는 글의 데이터를 로컬변수에 저장.*/

INSERT INTO EGOV_BBS

(

borderid,

bordertype,

group_num,

parentid,

group_order,

group_tab,

userid,

nickname,

writerip,

editid,

editip,

title,

bordertext,

seecount,

filename,

filetype,

fileurl,

replycount

)

VALUES

(

borderid_seq.nextval,

'0',

lo_group_num,

In_borderId,

lo_group_order+1,

lo_group_tab+1,

In_userId,

In_userId,

In_userIp,

'',

'',

In_title,

In_mytextarea,

0,

'',

'',

'',

0

);

COMMIT;

EXCEPTION WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE('오류발생');

DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM);

DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);

END insertBorderReply;

 

이렇게 작성했습니다.

위 사진과 같이 그룹 오더가 늘어나지 않습니다.

 

borderReplyReq.do 는 다음과 같이 작성했고

@RequestMapping(value="/borderReplyReq.do")

public String borderReplyReq(HttpServletRequest request, ModelMap model) throws Exception

{

HashMap<String,Object> paramMap = new HashMap<String,Object>();

String title = request.getParameter("title").toString();

String mytextarea = request.getParameter("mytextarea").toString();

String userId = "" ;

String no = request.getParameter("no").toString();

if(title.length()>15)

{

return "redirect:/borderList.do";

}

//2000자 잇상이면

else if(mytextarea.length()>2000)

{

return "redirect:/borderList.do";

}

// Session에 User ID 가 저장이 안되어 있다면?

else if(request.getSession().getAttribute("USER_ID")==null)

{

request.getSession().invalidate();

return "redirect:/login.do";

}

else // 사용자가 로그인을 했을 때,

{

userId = request.getSession().getAttribute("USER_ID").toString();

paramMap.put("boderid", no);

paramMap.put("userId", userId);

paramMap.put("userIp", request.getRemoteAddr());

paramMap.put("title", title);

paramMap.put("mytextarea", mytextarea);

}

borderService.insertBorderReply(paramMap);

System.out.println(paramMap);

return "redirect:/borderList.do";

}

 

마지막에 System.out.println(paramMap)은

데이터가 잘 찍혀서 들어간걸 확인 할 수 있었습니다.

 

근데 게시판에 답글이 생기지 않아요,,,

 

답변 1

답변을 작성해보세요.

1

안녕하세요.개발자park입니다.

프로시저쪽은 문제 없어보입니다.

1]borderReply쪽의 form의 action에 명시된 url이 기존 글쓰기로 되어있어보입니다.

2]ServiceImpl,DAO.xml의 프로시저 쪽이 기존 게시판글쓰기로 되어있는지 확인이 필요해보입니다.

감사합니다.