본문 바로가기
Digital Log

아주 오랜 만에 들여다 본 ASP

by 달토끼남편 2008. 11. 10.
ASP(Active Server Pages) 라고 MS에서 만든 웹 프로그래밍 언어죠.
이걸 처음 접한게 2000년이었는데, 1년간 정부연구소에서 계약직 연구원으로 일한 뒤 잡은 직장에서 일주일 간 독파한 언어이기도 했습니다.
(출근했는데, 내가 쓸 컴퓨터가 없어서 일주일 동안 앉아서 ASP 책만 봤다는...)

그 때도 잠깐 맛만 본 정도였는데, 요즘 모 업체의 홈페이지를 유지/보수해주기로 하면서 이 ASP를 다시 보게 되었습니다.
2년 전 쯤에 만든 홈페이지라는데 ASP로 되어 있었습니다.
PHP였다면 그나마 조금 수월했을텐데, ASP라니...으...

프로그래밍도 제대로 할 줄 모르지만, 이것 저것 요청한 기능들을 추가 또는 수정을 해주자니, ASP 책을 다시 사서 공부하는 수 밖에...
요즘엔 ASP.NET 이니 뭐니해서 뭐가 또 새로운게 나온 것 같긴 한데 깊이 파기엔 여력이 없을 것 같고...

그런데 확실히 초보가 시작하기에도 쉽긴 쉽네요.
PHP에http://www.phpschool.com이라는 걸출한 사이트가 있듯이 ASP 관련해서도 오래 전부터 유명한http://www.taeyo.net이라는
사이트가 있으니 도움 받기도 쉽고.

정식으로 프로그래밍을 배운 적 없이 그냥 어깨너머로 책만 보며 하다보니 기초가 안잡혀 있다는 것이 문제죠.
그래서 이번에도 SQL 때문에 고생을 좀 했습니다.

관리자 비밀번호를 변경하는 페이지를 하나 추가해야 하는데, 분명히 로직 상으로는 문제가 없는 것 같은데 왜 DB에 저장이 안되는지...
주말에 차근차근 ASP 책을 보다가 답을 얻었습니다.

SQL에서 변수를 입력할 때 작은 따옴표로 감싸게 되죠.

SQL = SELECT * FROM myDB WHERE id = 'admin'

뭐 이런 식으로...

그런데 보통은 저렇게 직접 'admin' 이라고 텍스트를 입력하기 보다는 변수명을 대입하는데 문제는 소스를 알아보기 쉽게 한답시고
작은 따옴표 사이에 공백을 주었던 것이 문제였습니다.

Dim admin_id
SQL = SELECT * FROM myDB WHERE id =' "& admin_id &" '"


바로 위의 코드처럼 말이죠.
저게 실행이 되면,

id = ' admin '

DB에 있는 id 필드에 이런 식으로 공백까지 입력이 되어버리니 인식을 못했던 것이었습니다.

아주 기초적인 것임에도 별 생각없이 썼던 것이 며칠을 고생하게 만든...쩝

PHP 처럼 변수명도 구분이 좀 쉽고 했다면 그런 고생은 안했을텐데 말이죠.

SQL = SELECT * FROM myDB WHERE id = '$admin_id'

하여간 하나는 끝났고, 이제 또 다른 것 수정해야겠네요.