BLOG main image
분류 전체보기 (65)
JSP (6)
Android (1)
ASP.NET (0)
MSSQL (4)
PHP (18)
ASP (11)
오픈 API (1)
HTML (2)
JavaScript (0)
Windows Programming (8)
컴퓨터교양 (14)
객체 지향 (0)
리뷰 및 생각 (0)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2013. 10. 1. 00:15
[ASP]

 

If 조건문 Then 실행구문

 

 

If 조건문 Then
  실행구문 1
  실행구문 2
End If

 

 

If 조건문 Then
  실행구문 1
  실행구문 2
else
  실행구문 3
  실행구문 4
End If

 

 

If 조건문1 Then
  실행구문1
elseif 조건문2 Then
  실행구문2
elseif 조건문3 Then
  실행구문3
:
:
else
  실행구문n
end If

 

 

 

뭐 이런 식이라고 하는데,

 

주의할 것은 비교연산자중 같다가 == 두개가 아니라 = 하나로 해야 한다.

또한 != 가 아니라 <> 로 해야 한다.

 

그리고 맨 위에

If 조건문 Then 실행구문

이 문장은 End If 가 없지만 늘 입력해 두는 것이 바람직 하다.

왜냐하면 언제 조건관련 코드가 늘어날지 모르기 때문이다.

'ASP' 카테고리의 다른 글

ASP textarea 엔터키 처리, 줄바꿈 처리  (0) 2013.10.01
ASP include  (0) 2013.10.01
ASP 배열 선언/초기화 - 정적배열 / 동적배열  (0) 2013.09.30
ASP Dictionary Object  (0) 2013.09.30
ASP 문자열 함수, 문자열 관련 함수  (0) 2013.09.30
2013. 10. 1. 00:06

개요

쿼리문 작성 어떻게 하나요?

그냥 막코딩 하면 되지요~~

가독성 따윈 필요 없으니

", name=" + name + ", nick=" +

이런 식으로 해도 되지요.

열맞추고 줄맞추고 해서 가독성 높일 수도 있습니다.

저도 전에 그렇게 했었어요.

 

하지만 잠깐 시간을 내어 아래 함수 사용법을 익히면,

가독성이 높은 쿼리문을 작성 할 수 있습니다.

가독성이 높아지면 실수할 확률이 적어지고, 디버깅 횟수가 줄게 되어

결과적으로 빠른 코딩이 가능해 집니다.

 

가장 중요한 함수는 가독성을 위한 stringFormat()과 보안을 위한 toDbString() 입니다.

 

 

함수들

<%

'닷넷의 String.Format을 흉내낸 함수 입니다.
Function stringFormat(sVal, aArgs)
    Dim i
    For i=0 To UBound(aArgs)
        sVal = Replace(sVal,"{" & CStr(i) & "}",aArgs(i))
    Next
    StringFormat = sVal
End Function

'아래와 같이 결과를 변수에 무조건 대입해야 합니다. 아니면 문법 오류가 발생 합니다.
'Dim result
'result = stringFormat("this {0} a tes{1} string containing {2} values", _
'             Array("is", "t", "some"))

 


'PHP의 eregi_replace 를 흉내낸 함수 입니다.
Function eregi_replace(pattern, replace, text)
    Dim eregObj
    Set eregObj = New RegExp
    eregObj.Pattern = pattern   '패턴 설정
    eregObj.IgnoreCase = True   '대소문자 구분 여부
    eregObj.Global = True       '전체 문서에서 검색
    eregi_replace = eregObj.Replace(text, replace): 'Replace String
End Function

 


'문자열을 쿼테이션으로 감싸주는 것을 기본으로 하여,
'사용자가 입력한 ' 에 대한 지원과
'SQL 인젝션 방지 그리고 자바스크립트 삽입 방지를 지원합니다.
Function toDbString(str)
    str = Replace(str, "'", "''")
    str = "'" + str + "'"
    str = eregi_replace("<script", "< script", str)
    str = eregi_replace("</script", "< /script", str)
    toDbString = str
End Function
%>

 

 

사용법

<%

    query = stringFormat("update bbsCon set title={0}, content={1}, ip={2} where id={3}", _
                            Array(toDbString(title), _
                                  toDbString(content), _
                                  toDbString(Request.ServerVariables("REMOTE_ADDR")), _
                                  id _
                            ) _
            )

    query = stringFormat("insert into bbsCon (title, content, nick, ip) values ({0}, {1}, {2}, {3})", _
                            Array(toDbString(title), _
                                  toDbString(content), _
                                  toDbString(Session("nick")), _
                                  toDbString(Request.ServerVariables("REMOTE_ADDR")) _
                            ) _
            )

 

    query = stringFormat("delete from bbsCon where id={0}", _
                            Array(id))

 

    query = stringFormat("select id, dtReg, title, nick, readCnt, ip from bbsCon order by id desc", _
                            Array())

 

    query = stringFormat("select * from bbsCon where id={0}", _
                            Array(id))
%>

2013. 9. 30. 23:45
[ASP]

정적 배열 선언 / 초기화


<%

'동적 배열 선언 - 첨자 3 까지, 크기는 4
Dim arr(3)

 

'초기화
arr(0) = "Albert Einstein"
arr(1) = "Mother Teresa"
arr(2) = "Bill Gates"
arr(3) = "Martin Luther King Jr."

 

'순회
For Each item In arr
    Response.Write(item & "<br />")
Next
%>

 

 

<%

'variable 변수 선언
Dim arr2


'정적배열 선언 / 초기화 후 대입
arr2 = Array("a", "b", "c")
%>

 

 

 


동적 배열 선언 / 초기화

<%

'정적 배열 선언
Dim arrDyn()

 

'동적 크기 조정
ReDim arrDyn(1)


'초기화
arrDyn(0) = "Albert Einstein"
arrDyn(1) = "Mother Teresa"

 

ReDim Preserve arrDyn(3)
arrDyn(2) = "Bill Gates"
arrDyn(3) = "Martin Luther King Jr."

 

'순회
For Each item In arrDyn
    Response.Write(item & "<br />")
Next
%>

 

 

 

배열크기 구하기

Ubound(Arr)

'ASP' 카테고리의 다른 글

ASP include  (0) 2013.10.01
ASP IF문  (0) 2013.10.01
ASP Dictionary Object  (0) 2013.09.30
ASP 문자열 함수, 문자열 관련 함수  (0) 2013.09.30
IIS index.asp 기본문서 추가 혹은 HTML 페이지 이동  (0) 2013.09.30