ClassicASP On Error Resume Next <DB 인서트 실패 체크>
페이지 정보
본문
[ 질문 ]
아래 빨간색부분 구현하고 싶은데요
등록시 오류났을때 메시지 띄우는건데요
고수님들 바로 실행가능하도록 고쳐주시면 감사하겠습니다.
<%
if session("ID") = "" then
%>
<script language="javascript">
alert ("로그인 하세요");
location.href= "../index1.asp";
</script>
<%
elseif Request("sno")= "" then
%>
<script language="javascript">
alert ("목록을 입력해주세요");
location.href= "sell_ins.asp";
</script>
<%
else
loginid=Trim(session("id"))
mk= Request("mk")
sno = Request("sno")
nah = Request("nah")
UNIT = Request("UNIT")
ldate = Request("ldate")
qty = Request("qty")
lot = Request("lot")
gem = Request("gem")
strsql= " insert into sale_inv(sale_id,sale_mk,sale_sno,sale_nah,sale_unit," &_
" sale_ldate,sale_qty,sale_lot,sale_gem,sale_date)"&_
" values "&_
" ('"&loginid&"','"&mk&"','"&sno&"','"&nah&"','"&unit&"','"&ldate&"','"&qty&"',"&_
" '"&lot&"','"&gem&"','"&date()&"')"
Set MyObj = server.CreateObject(" ")
Set rs = MyObj.QUERYRS(strSql)
Set MyObj = Nothing
if trim(rs) <> "" then
%>
<script language="vbscript">
msgbox "등록 오류입니다..", vbcritical
history.back()
</script>
<%
else
%>
<script language="vbscript">
msgbox "등록 되었습니다.", vbinformation
location.href = "cart.asp"
</script>
<%
end if
end if
%>
[ 답변 ]
트랜잭션으로 처리하시면 될꺼같습니다.
페이지 상단에
on error resume next
Dbcon.BeginTrans
쓰시고
strsql= " insert into sale_inv(sale_id,sale_mk,sale_sno,sale_nah,sale_unit," &_
" sale_ldate,sale_qty,sale_lot,sale_gem,sale_date)"&_
" values "&_
" ('"&loginid&"','"&mk&"','"&sno&"','"&nah&"','"&unit&"','"&ldate&"','"&qty&"',"&_
" '"&lot&"','"&gem&"','"&date()&"')"
Dbcon.execute(strsql)
if DbCon.Errors.Count > 0 Then errcnt = 1 End if
If errcnt > 0 Then
Dbcon.RollbackTrans '실패 처리
'실패메시지
Else
Dbcon.CommitTrans '성공처리..
' 성공메시지
End If
자료인용
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040204&docId=67720725
http://wendy81.tistory.com/74
아래 빨간색부분 구현하고 싶은데요
등록시 오류났을때 메시지 띄우는건데요
고수님들 바로 실행가능하도록 고쳐주시면 감사하겠습니다.
<%
if session("ID") = "" then
%>
<script language="javascript">
alert ("로그인 하세요");
location.href= "../index1.asp";
</script>
<%
elseif Request("sno")= "" then
%>
<script language="javascript">
alert ("목록을 입력해주세요");
location.href= "sell_ins.asp";
</script>
<%
else
loginid=Trim(session("id"))
mk= Request("mk")
sno = Request("sno")
nah = Request("nah")
UNIT = Request("UNIT")
ldate = Request("ldate")
qty = Request("qty")
lot = Request("lot")
gem = Request("gem")
strsql= " insert into sale_inv(sale_id,sale_mk,sale_sno,sale_nah,sale_unit," &_
" sale_ldate,sale_qty,sale_lot,sale_gem,sale_date)"&_
" values "&_
" ('"&loginid&"','"&mk&"','"&sno&"','"&nah&"','"&unit&"','"&ldate&"','"&qty&"',"&_
" '"&lot&"','"&gem&"','"&date()&"')"
Set MyObj = server.CreateObject(" ")
Set rs = MyObj.QUERYRS(strSql)
Set MyObj = Nothing
if trim(rs) <> "" then
%>
<script language="vbscript">
msgbox "등록 오류입니다..", vbcritical
history.back()
</script>
<%
else
%>
<script language="vbscript">
msgbox "등록 되었습니다.", vbinformation
location.href = "cart.asp"
</script>
<%
end if
end if
%>
[ 답변 ]
트랜잭션으로 처리하시면 될꺼같습니다.
페이지 상단에
on error resume next
Dbcon.BeginTrans
쓰시고
strsql= " insert into sale_inv(sale_id,sale_mk,sale_sno,sale_nah,sale_unit," &_
" sale_ldate,sale_qty,sale_lot,sale_gem,sale_date)"&_
" values "&_
" ('"&loginid&"','"&mk&"','"&sno&"','"&nah&"','"&unit&"','"&ldate&"','"&qty&"',"&_
" '"&lot&"','"&gem&"','"&date()&"')"
Dbcon.execute(strsql)
if DbCon.Errors.Count > 0 Then errcnt = 1 End if
If errcnt > 0 Then
Dbcon.RollbackTrans '실패 처리
'실패메시지
Else
Dbcon.CommitTrans '성공처리..
' 성공메시지
End If
자료인용
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040204&docId=67720725
http://wendy81.tistory.com/74
댓글목록
등록된 댓글이 없습니다.