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 |
개요
쿼리문 작성 어떻게 하나요?
그냥 막코딩 하면 되지요~~
가독성 따윈 필요 없으니
", 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))
%>
'ASP > ASP My Library' 카테고리의 다른 글
ASP HTML Tag 값과 DB 값을 호환 시키기 위한 짝 함수 - checkbox (0) | 2013.10.04 |
---|
정적 배열 선언 / 초기화
<%
'동적 배열 선언 - 첨자 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 |