<% ' ---------------------------------------------------------------------------------------------------- ' ## 공통변수 및 사용자정의변수 정의 ' ---------------------------------------------------------------------------------------------------- ' DB 관련 변수 Dim dbConn, rs, rs2, var_SQL,var_SQL2, var_AddSQL, var_AddSQL2, i, j Dim paramInfo, paramInfos ' 검색 관련 변수 Dim search_field, search_keyword, arrkeyword Dim search_division, search_category, search_view_yn, search_language_type ' 파라미터 변수 Dim setParams, var_Mode, var_Page, var_Num ' 컬럼변수 Dim col_board_seq, col_division, col_category, col_subject, col_content Dim col_hit, col_notice_yn, col_view_yn, col_user_name, col_password Dim col_delegate_img_path, col_delegate_img_file, col_delegate_img_save Dim col_register_ip, col_del_yn, col_language_type, col_reg_date Dim col_etc_1, col_etc_2, col_etc_3, col_etc_4, col_etc_5 Dim col_etc_6, col_etc_7, col_etc_8, col_etc_9, col_etc_10 Dim col_file_seq, col_file_path, col_file_name, col_file_save, col_file_size, col_down_count Dim col_prev_seq, col_prev_sbjt, col_next_seq, col_next_sbjt ' 기타변수 Dim imgSize, img_width, img_height ' 디버그 모드 'Call clsDB.SetDebugMode(True) ' ---------------------------------------------------------------------------------------------------- ' ## 페이지 검증 ' ---------------------------------------------------------------------------------------------------- If StrComp(REFERER_URL, "") = 0 Then 'Call clsFN.JsAlertLocation(NOT_ACCESS_PATH, PARAMETER_001) end If ' ---------------------------------------------------------------------------------------------------- ' ## Receive Parameters ' ---------------------------------------------------------------------------------------------------- var_Page = clsFN.GetParameter(Request("page"), "") var_Mode = clsFN.GetParameter(Request("mode"), "") var_Num = clsFN.GetParameter(Request("num"), "") search_field = clsFN.GetParameter(Request("search_field"), "") search_keyword = clsFN.GetParameter(Request("search_keyword"), "") search_category = clsFN.GetParameter(Request("search_category"), "") search_view_yn = "Y" search_division = BOARD_DIVISION search_language_type = BOARD_LANGUAGE ' ---------------------------------------------------------------------------------------------------- ' ## 필수 입력 항목 체크 ' ---------------------------------------------------------------------------------------------------- If Not clsFN.IsValid(var_Num) Then Call clsFN.JsAlertLocation(FRONTROOT, PARAMETER_002) End If If clsFN.toNumeric(var_Num) = 0 Then Call clsFN.JsAlertLocation(FRONTROOT, PARAMETER_002) End If ' ---------------------------------------------------------------------------------------------------- ' ## 페이지 이동 파라미터 ' ---------------------------------------------------------------------------------------------------- setParams = "search_division=" & search_division setParams = setParams & clsFN.iif(var_Page<>"1", "&page=" & var_Page, "") setParams = setParams & clsFN.iif(search_field<>"", "&search_field=" & search_field, "") setParams = setParams & clsFN.iif(search_keyword<>"", "&search_keyword=" & search_keyword, "") setParams = setParams & clsFN.iif(search_category<>"", "&search_category=" & search_category, "") ' #################################################################################################### ' ## 게시판 정보 ' #################################################################################################### var_SQL = "SELECT " var_SQL = var_SQL & " A.BOARD_SEQ, A.DIVISION, A.CATEGORY, A.SUBJECT, A.CONTENT " var_SQL = var_SQL & " , A.HIT, A.NOTICE_YN, A.VIEW_YN, A.USER_NAME, A.PASSWORD " var_SQL = var_SQL & " , A.DELEGATE_IMG_PATH, A.DELEGATE_IMG_FILE, A.DELEGATE_IMG_SAVE " var_SQL = var_SQL & " , A.REGISTER_IP, A.DEL_YN, A.LANGUAGE_TYPE, A.REG_DATE " var_SQL = var_SQL & " , A.ETC_1, A.ETC_2, A.ETC_3, A.ETC_4, A.ETC_5 " var_SQL = var_SQL & " , A.ETC_6, A.ETC_7, A.ETC_8, A.ETC_9, A.ETC_10 " var_SQL = var_SQL & " FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.BOARD_SEQ = ? " ReDim paramInfo(0) paramInfo(0) = clsDB.MakeParam("@BOARD_SEQ", adInteger, adParamInput, 0, var_Num) Set rs = clsDB.ExecSQLReturnRS(var_SQL, paramInfo, Nothing) If Not rs.EOF Then col_board_seq = Trim(rs("BOARD_SEQ")) col_division = Trim(rs("DIVISION")) col_category = Trim(rs("CATEGORY")) col_subject = Trim(rs("SUBJECT")) col_content = Trim(rs("CONTENT")) col_hit = Trim(rs("HIT")) col_notice_yn = Trim(rs("NOTICE_YN")) col_view_yn = Trim(rs("VIEW_YN")) col_user_name = Trim(rs("USER_NAME")) col_password = Trim(rs("PASSWORD")) col_delegate_img_path = Trim(rs("DELEGATE_IMG_PATH")) col_delegate_img_file = Trim(rs("DELEGATE_IMG_FILE")) col_delegate_img_save = Trim(rs("DELEGATE_IMG_SAVE")) col_register_ip = Trim(rs("REGISTER_IP")) col_del_yn = Trim(rs("DEL_YN")) col_language_type = Trim(rs("LANGUAGE_TYPE")) col_reg_date = Trim(rs("REG_DATE")) col_etc_1 = Trim(rs("ETC_1")) col_etc_2 = Trim(rs("ETC_2")) col_etc_3 = Trim(rs("ETC_3")) col_etc_4 = Trim(rs("ETC_4")) col_etc_5 = Trim(rs("ETC_5")) col_etc_6 = Trim(rs("ETC_6")) col_etc_7 = Trim(rs("ETC_7")) col_etc_8 = Trim(rs("ETC_8")) col_etc_9 = Trim(rs("ETC_9")) col_etc_10 = Trim(rs("ETC_10")) ' col_subject = clsFN.GetXssEncode(col_subject) ' col_category = clsFN.GetXssEncode(col_category) ' col_user_name = clsFN.GetXssEncode(col_user_name) If col_notice_yn = "Y" Then col_notice_yn = "공지" Else col_notice_yn = "일반" End If If col_view_yn = "Y" Then col_view_yn = "노출" Else col_view_yn = "노출 안함" End If Else Call clsFN.JsAlertLocation(FRONTROOT, DB_001) End If clsDB.closeRS(rs) ' #################################################################################################### ' ## 게시판 정보 / 이전글, 이후글 ' #################################################################################################### If col_notice_yn <> "공지" Then ' 아랫글 j = 0 var_SQL = " SELECT TOP 1 BOARD_SEQ, SUBJECT " var_SQL = var_SQL & " FROM "& BOARD_TABLENAME &" A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN= 'N' AND A.NOTICE_YN= 'N' " var_SQL = var_SQL & " AND BOARD_SEQ < ? AND A.DIVISION = ? " paramInfo = clsDB.MakeParam2("BOARD_SEQ", adInteger, adParamInput, 0, var_Num, paramInfo, j) paramInfo = clsDB.MakeParam2("DIVISION", adVarChar, adParamInput, 30, search_division, paramInfo, j) ' 언어 If search_language_type <> "" Then var_SQL = var_SQL & " AND A.LANGUAGE_TYPE = ? " paramInfo = clsDB.MakeParam2("LANGUAGE_TYPE", adVarChar, adParamInput, 10, search_language_type, paramInfo, j) End If ' 카테고리 검색 If search_category <> "" Then var_SQL = var_SQL & " AND A.CATEGORY = ? " paramInfo = clsDB.MakeParam2("CATEGORY", adVarChar, adParamInput, 255, search_category, paramInfo, j) End If ' 노출여부 검색 If search_view_yn <> "" Then var_SQL = var_SQL & " AND A.VIEW_YN = ? " paramInfo = clsDB.MakeParam2("VIEW_YN", adVarChar, adParamInput, 1, search_view_yn, paramInfo, j) End If ' 키워드 검색 If search_keyword <> "" And search_field <> "" Then If Instr(search_keyword, " ") > 0 Then arrkeyword = Split(search_keyword, " ") For Each item In arrkeyword If search_field = "all" Then var_AddSQL2 = var_AddSQL2 & " OR ( SUBJECT LIKE ? OR CONTENT LIKE ? ) " paramInfo = clsDB.MakeParam2("SUBJECT", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) paramInfo = clsDB.MakeParam2("CONTENT", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) ElseIf search_field = "user_name" then var_AddSQL2 = var_AddSQL2 & " OR A.USER_SEQ IN (SELECT C.USER_SEQ FROM TB_USER C WITH(NOLOCK) WHERE C.USER_NAME LIKE ? ) " paramInfo = clsDB.MakeParam2("USER_NAME", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) Else var_AddSQL2 = var_AddSQL2 & " OR " & clsFN.convSql(search_field) &" LIKE ? " paramInfo = clsDB.MakeParam2(search_field, adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) End If Next var_SQL = var_SQL & " AND (" & Mid(var_AddSQL2, 4, Len(var_AddSQL2)) & ") " Else If search_field = "all" Then var_SQL = var_SQL & " AND ( SUBJECT LIKE ? OR CONTENT LIKE ? ) " paramInfo = clsDB.MakeParam2("SUBJECT", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) paramInfo = clsDB.MakeParam2("CONTENT", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) ElseIf search_field = "user_name" then var_SQL = var_SQL & " AND A.USER_SEQ IN (SELECT C.USER_SEQ FROM TB_USER C WITH(NOLOCK) WHERE C.USER_NAME LIKE ? ) " paramInfo = clsDB.MakeParam2("USER_NAME", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) Else var_SQL = var_SQL & " AND " & clsFN.convSql(search_field) &" LIKE ? " paramInfo = clsDB.MakeParam2(search_field, adWChar, adParamInput, 200, "%" & search_keyword & "%", paramInfo, j) End If End If End If var_SQL = var_SQL & " ORDER BY BOARD_SEQ DESC " Set rs = clsDB.ExecSQLReturnRS(var_SQL, paramInfo, Nothing) If Not rs.EOF Then col_prev_seq = Trim(rs("BOARD_SEQ")) col_prev_sbjt = Trim(rs("SUBJECT")) End If clsDB.closeRS(rs) ' 초기화 j = 0 ReDim paramInfo(0) var_AddSQL2 = "" ' 윗글 var_SQL = " SELECT TOP 1 BOARD_SEQ, SUBJECT " var_SQL = var_SQL & " FROM "& BOARD_TABLENAME &" A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN= 'N' AND A.NOTICE_YN= 'N' " var_SQL = var_SQL & " AND BOARD_SEQ > ? AND A.DIVISION = ? " paramInfo = clsDB.MakeParam2("BOARD_SEQ", adInteger, adParamInput, 0, var_Num, paramInfo, j) paramInfo = clsDB.MakeParam2("DIVISION", adVarChar, adParamInput, 30, search_division, paramInfo, j) ' 언어 If search_language_type <> "" Then var_SQL = var_SQL & " AND A.LANGUAGE_TYPE = ? " paramInfo = clsDB.MakeParam2("LANGUAGE_TYPE", adVarChar, adParamInput, 10, search_language_type, paramInfo, j) End If ' 카테고리 검색 If search_category <> "" Then var_SQL = var_SQL & " AND A.CATEGORY = ? " paramInfo = clsDB.MakeParam2("CATEGORY", adVarChar, adParamInput, 255, search_category, paramInfo, j) End If ' 노출여부 검색 If search_view_yn <> "" Then var_SQL = var_SQL & " AND A.VIEW_YN = ? " paramInfo = clsDB.MakeParam2("VIEW_YN", adVarChar, adParamInput, 1, search_view_yn, paramInfo, j) End If ' 키워드 검색 If search_keyword <> "" And search_field <> "" Then If Instr(search_keyword, " ") > 0 Then arrkeyword = Split(search_keyword, " ") For Each item In arrkeyword If search_field = "all" Then var_AddSQL2 = var_AddSQL2 & " OR ( SUBJECT LIKE ? OR CONTENT LIKE ? ) " paramInfo = clsDB.MakeParam2("SUBJECT", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) paramInfo = clsDB.MakeParam2("CONTENT", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) ElseIf search_field = "user_name" then var_AddSQL2 = var_AddSQL2 & " OR A.USER_SEQ IN (SELECT C.USER_SEQ FROM TB_USER C WITH(NOLOCK) WHERE C.USER_NAME LIKE ? ) " paramInfo = clsDB.MakeParam2("USER_NAME", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) Else var_AddSQL2 = var_AddSQL2 & " OR " & clsFN.convSql(search_field) &" LIKE ? " paramInfo = clsDB.MakeParam2(search_field, adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) End If Next var_SQL = var_SQL & " AND (" & Mid(var_AddSQL2, 4, Len(var_AddSQL2)) & ") " Else If search_field = "all" Then var_SQL = var_SQL & " AND ( SUBJECT LIKE ? OR CONTENT LIKE ? ) " paramInfo = clsDB.MakeParam2("SUBJECT", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) paramInfo = clsDB.MakeParam2("CONTENT", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) ElseIf search_field = "user_name" then var_SQL = var_SQL & " AND A.USER_SEQ IN (SELECT C.USER_SEQ FROM TB_USER C WITH(NOLOCK) WHERE C.USER_NAME LIKE ? ) " paramInfo = clsDB.MakeParam2("USER_NAME", adWChar, adParamInput, 200, "%" & item & "%", paramInfo, j) Else var_SQL = var_SQL & " AND " & clsFN.convSql(search_field) &" LIKE ? " paramInfo = clsDB.MakeParam2(search_field, adWChar, adParamInput, 200, "%" & search_keyword & "%", paramInfo, j) End If End If End If var_SQL = var_SQL & " ORDER BY BOARD_SEQ ASC " Set rs = clsDB.ExecSQLReturnRS(var_SQL, paramInfo, Nothing) If Not rs.EOF Then col_next_seq = Trim(rs("BOARD_SEQ")) col_next_sbjt = Trim(rs("SUBJECT")) End If clsDB.closeRS(rs) End If ' #################################################################################################### ' ## 게시판 조회수 증가 ' #################################################################################################### var_SQL = "UPDATE "& BOARD_TABLENAME &" SET " var_SQL = var_SQL&" HIT = HIT+1 " var_SQL = var_SQL&" WHERE BOARD_SEQ = ? " ReDim paramInfo(0) paramInfo(0) = clsDB.MakeParam("@BOARD_SEQ", adInteger, adParamInput, 0, var_Num) Call clsDB.ExecSQL(var_SQL, paramInfo, Nothing) %>

<%=BOARD_MENU%>

<%=col_subject %>
<%=clsFN.dateFormat(col_reg_date, "yyyy-mm-dd") %> <%=col_hit %>
> <% ' #################################################################################################### ' ## 게시판 파일 정보 ' #################################################################################################### var_SQL = " SELECT " var_SQL = var_SQL & " FILE_SEQ, FILE_PATH, FILE_NAME, FILE_SAVE, FILE_SIZE, DOWN_COUNT, REG_DATE " var_SQL = var_SQL & " FROM "& BOARD_TABLENAME &"_FILE WITH(NOLOCK) " var_SQL = var_SQL & " WHERE BOARD_SEQ = ? " var_SQL = var_SQL & " ORDER BY FILE_SEQ " ReDim paramInfo(0) paramInfo(0) = clsDB.MakeParam("@BOARD_SEQ", adInteger, adParamInput, 0, var_Num) Set rs = clsDB.ExecSQLReturnRS(var_SQL, paramInfo, Nothing) If Not rs.EOF Then Do While Not rs.EOF col_file_seq = Trim(rs("FILE_SEQ")) col_file_path = Trim(rs("FILE_PATH")) col_file_name = Trim(rs("FILE_NAME")) col_file_save = Trim(rs("FILE_SAVE")) col_file_size = Trim(rs("FILE_SIZE")) col_down_count = Trim(rs("DOWN_COUNT")) %> <%=col_file_name %>(<%=clsFN.makeCapacity(col_file_size) %>)

<% rs.MoveNext Loop clsDB.closeRS(rs) Else Response.write FILE_001 End If %>
<% If col_notice_yn <> "공지" Then %>
    <% If col_next_seq <> "" Then %>
  • 이전글

    <%=col_next_sbjt %>

  • <% Else %>
  • 이전글

    이전글이 없습니다.

  • <% End If %> <% If col_prev_seq <> "" Then %>
  • 다음글

    <%=col_prev_sbjt %>

  • <% Else %>
  • 다음글

    다음글이 없습니다.

    <% End If %>
<% End If %>
<% ' ---------------------------------------------------------------------------------------------------- ' ## 자원 반환 ' ---------------------------------------------------------------------------------------------------- %> <% BOARD_CATEGORY.RemoveAll Set BOARD_CATEGORY = Nothing %>