안녕하세요
asp, db에대해 1도 모르고 담당자가 없어서 어떻게 해결해보려고 구글링중입니다.
회원등급 LevelIdx가 1,2,4,6,8,10까지 있는데 6,10 레벨이 직원등급이라 6과 10을 등급설정과 쿠폰 발급에서 제외하고 싶
은데 아래 코드 수정을 할 수가 없네요.
현재는 10등급만 제외되어 있습니다.
T_MEMBER_LEVEL
Idx SiteID LevelNo LevelName
1 base 1 신규
2 base 2 일반
4 base 3 vip
6 base 9 임직원
8 base 4 vvip
10 base 10 임직원+
부디 조언 부탁드립니다ㅠ
감사합니다
' 회원 주문 경우 (구매보상쿠폰 발급, 적립금 지급)
If userNo > 0 Then
'직원등급은 예외
sql = "Select LevelNo FROM T_MEMBER_LEVEL WHERE Idx=(Select TOP 1 LevelIdx FROM T_MEMBER WHERE
UserNo=?)"
arrParams = Array( _
Db.makeParam("@userNo", adInteger, adParamInput, 4, userNo) _
)
If toNumeric(Db.execRsData(sql, DB_CMDTYPE_TEXT, arrParams, Nothing))<>10 Then
' 회원등급설정과 관련 쿠폰 발급
arrParams = Array( _
Db.makeParam("@userNo", adInteger, adParamInput, 4, userNo), _
Db.makeParam("@levelIdx", adInteger, adParamInputOutput, 4, 0), _
Db.makeParam("@difference", adInteger, adParamOutput, 4, 0), _
Db.makeParam("@historyIdx", adInteger, adParamOutput, 4, 0) _
)
Call Db.exec("spSetMemberLevel", DB_CMDTYPE_SP, arrParams, Nothing)
levelIdx = toNumeric(arrParams(1)(4))
difference = toNumeric(arrParams(2)(4))
memberLevelHistoryIdx = toNumeric(arrParams(3)(4))
If levelIdx > 0 Then
sql = "Select TOP 1 CouponIdx FROM T_MEMBER_LEVEL WHERE Idx=?"
arrParams = Array(_
Db.makeParam("@Idx", adInteger, adParamInput, 4, levelIdx) _
)
CouponIdx = toNumeric(Db.execRsData(sql, DB_CMDTYPE_TEXT, arrParams, Nothing))
End If
If CouponIdx > 0 Then
arrParams = Array(_
Db.makeParam("@SiteId", adVarWChar, adParamInput, 20, SiteId), _
Db.makeParam("@userNo", adInteger, adParamInput, 4, userNo), _
Db.makeParam("@couponIdx", adInteger, adParamInput, 4, CouponIdx), _
Db.makeParam("@couponMemberIdx", adInteger, adParamOutput, 4, 0) _
)
Call Db.exec("spIssueCouponMemberLevel", DB_CMDTYPE_SP, arrParams, Nothing)
couponMemberIdx = toNumeric(arrParams(3)(4))
End If
If memberLevelHistoryIdx > 0 AND couponMemberIdx > 0 Then
sql = "UPDATE T_MEMBER_LEVEL_HISTORY SET CouponMemberIdx=? WHERE Idx=?"
arrParams = Array(_
Db.makeParam("@CouponMemberIdx", adInteger, adParamInput, 4, couponMemberIdx), _
Db.makeParam("@Idx", adInteger, adParamInput, 4, memberLevelHistoryIdx) _
)
Call Db.exec(sql, DB_CMDTYPE_TEXT, arrParams, Nothing)
End If
End If
혹사 아래와 같이 바꾸면 6 또는 10일 경우 제외가 될까요?
If toNumeric(Db.execRsData(sql, DB_CMDTYPE_TEXT, arrParams, Nothing))<>10 and
toNumeric(Db.execRsData(sql, DB_CMDTYPE_TEXT, arrParams, Nothing))<> 6 Then