반응형

회사 입사하고 젤 처음 아이디어를 내어 만들어본 프로그램

 

일명!! 실시간 일당 계산 프로그램

 

만든 목적 : 일하기위한 의욕 증진을 위해!!

 

기본설정 : 9시 출근, 6시 퇴근,

*기본 기능 : 하루 일당 계산 

  추가 기능 : 6시 퇴근시간이후에 퇴근알림 기능
 

오늘번돈ver0.3.exe

'공부 > 파워빌더' 카테고리의 다른 글

바이오리듬 프로그램 (2012/11/23)  (0) 2013.04.25
반응형

심심해서 책보고 만들어본 바이오 리듬 프로그램

 

옛날 책이다 보니 예제파일이 없어서 소스보고 오브젝트를 끼워맞춰서 구현햇다.

 

그러다보니 디자인은 허럽하지만 동작은 굳!!

 

 

바이오리듬실행파일.zip

 

'공부 > 파워빌더' 카테고리의 다른 글

실시간 일당 계산 프로그램  (0) 2013.04.25
반응형
1. Date Object
Date객체는 날짜와 시간을 다루는 객체이다.

(1)기본 사용법 : 날짜 객체(Date object)를 사용하려면 먼저 new연산자를 통해서 객체를 만들어낸다. 그리고 해당 객체를 통해서 필요한 함수(method, function)를 불러 사용하면 된다.

예) 현재 날짜를 출력하는 예제
var d = new Date(); //현재 날짜를 가져온다.
document.write(d); // 출력한다.


2. Math Object
수학과 관련된 상수나 삼각함수들은 이 Math객체를 이용해서 사용할 수 있다. Math객체는 new를 통해서 생성할 필요가 없다.

예)
 var pi = Math.PI; //pi가 파이값을 가지게 된다.
var a = Math.sin(0,3); //0.3의 sin값


3. String Object

예)
var str = new String("deadfire");
또는 var str = "deadfir";
문자열 객체는 ""로 new연산자를 대신한다고 볼 수 있다.


4. Array Object
배열은 동일한 속성을 지니는 값들을 차례로 담아서 하나의 변수로 관리 할 수 있다는 장점 땜누에 모든 언어에서 기본적으로 지원하는 기능

예)
var obj = new Array(10); // 10개를 담을 수 있는 배열 생성
var obj = new Array(); //지정된 개수 없이 생성
var obj = new Array(1, "AAA", Nan) // 생성과 동시에 값 할당.
*자바스크립트에서는 데이터의 종류가 존재하지 않기 때문에 배열안에 숫자, 문자, NaN등이 동시에 들어가도 문제가 없다.


5. Boolean Object
boolean이라는 기본적인 값이 있다. 이 값은 true, false 값만을 가진다. 이걸 객체라는 이름으로 한번 씌운 것이 Boolean객체이다. 단순히 다음과 같이 생서할 수 있다.

var b = new Boolean(true);


6. Function Object
함수도 객체로 간주된다. 따라서 new를 통해서 새로운 함수를 작성 할 수도 있다.

var sum = new Function("a", "b", "return a+b");

위의 예를 일반적으로 함수를 선언하는 방식으로 옮겨보면

Function sum(a,b){
   return a+b;
}


7. Argument Object
함수의 하위 속성 중 하나가 arguments가 된다.

arguments[0], arguments[1], ////
arguments.length

와 같이 사용할 수 있다. 생성자는 존재하지 않는다.
이 객체는 함수에 종속되어 자동으로 생성되는 객체로 반드시 arguments라는 명칭을 가지도록 되어있다.


8. Number Object
자바스크립트에서 사용되는 변수 중에 숫자 값이 가질 수 있는 최대, 최소값과 같은 상수를 가지고 있는 객체이다.

document.write("MAX_VALUE : " +Number.MAX_VALUE+"<BR>");
document.wirte("MIN_VALUE : " +Number.MIN_VALUE+"<BR>");


9. Global Object
이 객체는 실제로 사용되지 않는다. new를 통해서 생성 할 수도 없다. 다만 eval(), parseInt(), parseFloat(), Infinity와 같은 속성이나 함수가 속하게 되는 객체로서의 의미만 지닌다.


10. Image Object
속성은 name, src 두가지가 있다.

예)
imageName = new Image(height, width);
imageName.src = "image_filename";

객체를 이용하게 되면, Image를 Preload하는 장정이 있으며, 이를 응용하면 rollover기능을 다음과 같이 구현 할 수 있다.

inimg = new Image(100,100);
inimg.src = "inbutton.gif";
outimg = new Image(100,100);
outimg.src = "outbutton.gif";

<A href src="../index.html"
onMouseOver="gol.src = inimg.src;"
onMouseOut="gol.src = outimg.src;">
NAME="gol" SRC="outbutton.gif" Border=0></A>


11.기타 Object
지금까지 나열한 것 이외에 다음과 같은 객체들도 존재하나 자주 사용되지 않는다.

Object Object : 브라우저에서 사용하는 모든 객체의 조상 격인 객체
Screen Object : 사용자가 현재 사용하고 있는 화면에 대한 정보 즉, 해상도나 색상에 대한 정보를 담고 있는 고유한 객체이다.
RegExp Object : 문자열에서 특정한 문자를 찾아낼 때 사용하는 패턴(pattern)을 말한다.


12. with
특정한 객체 특히 Math객체의 경우는 생성자 없이 그대로 사용하기 때문에 많은 수학관련 함수를 사용할 때 일일이 Math.라고 써주기가 너무 귀찮고, 코드도 지저분해 보여서 with라는 구문을 사용한다.

var ret = Math.sin( Math.PI ) + Math.cos (Math.E );

위와 같은 문장을 with 구문을 사용하면 간단히 쓸 수 있다.

with (Math) {
var ret = sin(PI) + cos(E);
}


13. delete
객체를 생성하면 필요 없을 때 삭제하는 기능이 필요하여 추가된 연산자로 다음과 같이 사용한다.

myobj = new Number();
delete = myobj;

삭제를 성공하면 true를 리턴한다. delete시킬 수 있는 대상은 새로 생성한 객체나 특정한 객체의 속성, 또는 배열에서 특정한 변수를 삭제시킬 수 있다. 그러나 이 연산은 거의 사용되지 않는다.






[출처]Deadfire(http://deadfire.hihome.com)

'공부 > Javascript' 카테고리의 다른 글

객체  (0) 2011.06.21
javascript 문법  (0) 2011.06.20
Javascript 기초  (0) 2011.06.17
Javascript란?  (0) 2011.06.15
반응형
1. Object란?
객체란 간단히 속성과 함수를 가지고 있는 모듈 단위. 즉, 특정한 기능을 하도록 내부에 변수와 외부와의 연동을 위해서 함수를 제공하는 것이다.

2. 속성과 함수
모든 객체는 속성과 함수를 가지고 있다. 그래서 그 객체가 가지고 있는 속성이나 함수를 부르거나 값을 가져오려면,

객체이름.객체속성
객체이름.함수()

객체나 속성도 변수의 일종으로 볼 수 있으며 따라서, 대소문자를 가린다.

객체 이름 뒤에 점을 찍어주면 된다. document.write()처럼....

- 최상위 객체
alert()함수를 앞에 객체도 없이 그냥 마구 쓸 수 있다? 그건 아니다. 최상위에 window라는 객체가 있다. alert()함수는 바로 이 window객체의 함수인 것이다. 즉,

     window.alert();

이렇게 사용하는 것인데, 최상위에 있다보니 지정하지 않은 모든 변수나 함수는 window객체의 속성과 함수가 되는 것이다. 그래서 window.alert()으로 쓰나 그냥 alert()이라고 쓰나 동일한 것이 된다.
더구나 document.write()라고 쓰지만, 사실은 window.document.write()인 것이다.

자바스크립트는 객체에 대한 상당히 유연한 방법을 지원하고 있다. 어떠한 객체가 있을 때 속성을 추가하는 방법은 매우 간단하다. 즉, man 이라는 객체가 이미 존재한다고 할 때, 추가 속성으로 age, company를 더 넣고 싶다면,

man.age = 28;
man.company = "deadfire Co.";

이렇게 하면, man이라는 객체에 두 개의 속성(age, company)가 추가되는 것이다.


3. 객체의 생성과 사용
이미 만들어져서 제공되는 객체나 함수 말고, 사용자가 필요한 객체를 생성할 수 도 있다.

자동차라는 객체를 만들어 보자. 먼저 자동차의 특성을 나타내는 것들을 뽑아보자. 그래야 그 것들을 가지고 속성으로 만들어 줄 테니까, 간단히 자동차의 색상, 모델명, 차주인 이름을 속성으로 갖는다고 하면, 나중에 사용할 모습은 이렇게 될 것이다.

   car.color
   car.model
   car.owner

이러한 속성 값들을 가지도록 만들면 될 것이다. 이제 생성해보자. 자바스크립트에서는 새로운 객체를 만들어 낼 때 속성와 함수가 필요하다. 먼저 함수를 만들면,

//먼저 객체의 함수를 선언
function print(){
   alert(" This Car : " + this.color + ", " + this.model + ", " + this.owner );
}

//객체용 함수 선언
function car(color, model, owner) { //생성자 선언
   this.color = color;
   this.model = model;
   this.owner = owner;
   this.print = print;
}

- this는 this라는 문자가 들어가 있는 가장 바깥쪽의 괄호의 주인을 가리킨다. 즉, this는 car라는 함수 자신이 되는 것이다. 정확히 말하면 생성되는 객체 자체를 가리킨다. new라는 연산자에 의해서 생성되는 객체를 this가 지칭한다.

다음과 같이 mycar라는 인스턴스를 생성하고, 사용할 수 있게 되는 것이다.

var mycar = new car("빨간색", 1010, "deadfire"); // 인스턴스생성
mycar.print();  //해당 인스턴스 정보출력

이미 생성된 인스턴스에 새로운 속성(Property, Attribute)를 추가하고 한다면, 단순히 해당 인스턴스에 새로운 속성을 할당만하면 된다. 위에서 새로 생성된 mycar라는 인스턴스에 등급(grade)를 추가하려면 다음과 같이 하면된다.

mycar.grade = "1"; //프라퍼티 첨가

객체에 속한 모든 값
앞에서 for ... in...에 대해서 간단히 살펴보았었다. 이 기능을 확용하면, 객체가 가지고 있는 모든 속성이나 함수에 뭐가 있는지 한번에 볼 수 있다. 위에서 생성한 mycar라는 인스턴스를 예로들면,

var mesg = "";
for (obj in mycar){ // mycar에 속하는 각 obj
   mesg += obj + "\n";
}
alert(mesg);


[출처]Deadfire(http://deadfire.hihome.com)

'공부 > Javascript' 카테고리의 다른 글

내장객체  (0) 2011.07.11
javascript 문법  (0) 2011.06.20
Javascript 기초  (0) 2011.06.17
Javascript란?  (0) 2011.06.15
반응형
1. 변수(Variable)
값을 저장하는 곳을 말하며, 이 저장된 값이 계속 변경되기 때문에 변하는 수 즉, 변수라고 부른다. 자바스크립트 뿐만 아니라 모든 개발 언어들이 변수를 사용하여 값을 저장하게 된다.

(1) 변수명 부여 규칙
변수의 이름은 알파벳(대소문자 A ~ Z, 소문자 a ~ z), 밑줄(_)이나 달라($)로 시작될 수  있으며, 그 다음에는 알파벳, 밑줄, 달라 기호에 추가로 숫자(0 ~ 9)까지 사용할 수 있다.

(2) 데이터의 유형
1) 숫자 : 정수, 실수
2) 문자열(String)
3) 논리값(Boolean) : true, false
4) 널(null)

(3) 변수의 선언
일반적인 다른 언어들은 데이터의 종류에 따라서 다양한 변수의 형을 사용하는데 비하여 선언은 var한가지만 존재하여 대입되는 값에 따라 형이 변하게 된다. 변수명은 대소문자를 구분한다. 또한 var를 굳이 명시하지 않더라도 처음으로 변수가 나타나면 자동으로 새로 선언하도록 되어있다.

예) var name = "Killer!";
     var answer = 20;

(4) 변수의 범위
지역변수(Local variable) - 함수의 내부에서 사용된 변수
전역변수(global variable) - 함수 외부에서 사용된 변수

* 전역변수로 선언한 변수명이 특정 함수에서 사용하게 될 때, 변수명은 같지만 다른 값을 가지게 되는 지역변수로 사용하고 싶다면 처음에 값을 할당하기 전에 var로 선언해주면 된다.

(5) 형 변환
자바스크립트는 그안에 들어가는 내용에 의해서 문자인지 숫자인지 구분하게 된다.

예) var result = "test"; result = 100;

(6) 문자(literals)
상수를 표현하기 위한 방법

1) 정수
2) 실수
3) 불린 : true, false
4) 문자 : single() 또는 double() quotation 마크에 의해 둘러싸인 문자열, 다음과 같은 특수문자도 포함가능
\b(back space), \f(form feed), \r(Return), \n(new line), \t(tab), \\(back slash)


2. 연산
(1) 논리연산자 : &&(and), ||(or), !(not)
(2) 비교연산자 : ==, !=, =>, <, >, >=, <=  (비교연산도, 문자, 숫자 구분없이 그냥 ==로 비교하면 된다.)


3. 조건문 ( C언어와 동일)

(1) if...else...
형식> if (조건문1) { 조건문1이 참일때 실행되는 내용
         } else if (조건문2) { 조건문2가 참일때 실행되는 내용
         } else { 앞의 조건들에 해당하지 않을 때 실행되는 내용
         }

(2) switch
형식> switch (값) {
         case 값1:
         값이 값1과 동일할 경우 실행되는 내용
         case 값2:
         값이 값2와 동일할 경우 실행되는 내용
         default :
         값이 설정한 값들(값1, 값2)와 동일하지 않을 경우 실행되는 내용
         break;
}

4. 반복문
(1) for
설명> 초기값이 조건문에 참일 때 까지 반복
예제1> for (i=0; i <10; i++) {
          document.write(i)
}

설명> 객체의 속성 개수만큼 반복
예제2> for(var j in obj) {
          answer += "" + i + ":" + obj[i]
}

(2) while / dowhile
for문이 i와 같은 변수가 증감되면서 처리되는데 유효하다면 while문은 몇 개 인지 모를 대상을 가지고 반복문을 구성할 때 주로 사용

예제1>var num = 1;
         while ( num <= 10) {
                  document.write(num);
                  num++;
         }

예제2>i = 3;
         do{
               document.write(i);
               i++;
         }while(i<10)

while문은 조건을 먼저 검사하고, 내부의 반복문을 수행시킬지 검사하지만, do...while문은 일단 한번은 내부의 문장을 수행하고 그 다음부터 계속 반복할지를 결정한다는 점이 다르다.

(3) break / continue (C 언어와 동일)
해당 블럭을 완전히 탈출하는 break와, 바로 다음 증감분을 시행하는 continue는 흐름을 제어하게 된다.

5. 사용자함수
(1)선언
형식> function function_name (입력값1, 입력값2, .... ) {
         함수의 내용
         return 리턴값;
}


설명> 두 값을 받아서 합을 계산하여 Return해 주는 함수의 예이다.
예> function sum(a, b) {
      return a+b;
      }

* 추가속성 : 각 함수는 자기가 받은 인자를 arguments라는 배열에 저장하며, 그 배열은 length라는 값을 가지고 배열의 개수를 지칭할 수 있다. 즉, arguments[i], arguments.length 라는 두 개의 변수를 함수안에서 사용할 수 있다.
예>
function func(){
   var sum = 0;
   for ( var i = 0; i < n ; i++ ) {
        sum += func.arguments[i]
   }

   return sum;
}

alert( func(1) );
alert( func(1,2) );
alert( func(1, 2, 3) );
alert( func(1, 2, 3, 4) );

(2) 재귀 함수
재미있는 것은 자신이 자기를 부를 수 있다는 점이다. 이렇게 호출하는 것을 재귀 호출이라고 하는데, 가장 대표적인 것이 계승(factorial) 값을 구하는 함수이다. 즉, 5의 계승은

5! = 5 X 4 X 3 X 2 X 1

이다. 이러한 계승을 자바스크립트 함수로 구성해 보면 다음과 같다.
예>
function factorial(n){
   if( n <= 1) return n; // 1 is end
   else reutrn n * factorial(n-1); // recall
}




[출처]DEADFIRE Homepage // Deadfire Program Master

'공부 > Javascript' 카테고리의 다른 글

내장객체  (0) 2011.07.11
객체  (0) 2011.06.21
Javascript 기초  (0) 2011.06.17
Javascript란?  (0) 2011.06.15
반응형
1. HTML 문서에 추가하기
HTML문서에 자바스크립트 구문은 <SCRIPT></SCRIPT>로 감싸면 된다. Server Side Javascript의 경우는 Tag를 사용한다.

예>
<SCRIPT LANGUAGE="JavaScript" SRC="JavaScript.js">
<!--
JAVA SCRIPT 문장
-->
</SCRIPT>

- 파란색부분은 옵션으로 생략가능
- SRC : 자바스크립트가 위치한 URL(확장자:js)
- 주석은 // 로 처리 (한줄 주석)
- <!--, --> : HTML내의 주석으로 script를 인식하지 못하는 브라우져에게 감춘다.
- BODY나 HEAD에 위치할 수 있고, 여러번 Tag를 사용할 수 있다. 주로 <HEAD></HEAD>사이에 삽입한다. HEAD Tag에 자바스크립트를 기술하게 되면, HTML문서를 보여주기 전에 실행 된다.
- {}는 블록을 의미하고, /*에서 */까지는 주석문으로 인식하고, ;는 문장을 구분할 때 쓰인다.
- 자바스크립트 안에서는 대소문자를 구분한다. <Tag를 제외한 문자들>


2. 예제 실습
예제1>
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JAVASCRIPT">
//test
document.write("Hello, World!");
</SCRIPT>
</HEAD>
<BODY>
TEST Document
</BODY>
</HTML>

예제1 결과>
Hello, World! TEST Document

예제설명>
- // : 한줄 주석
- document.write("") : document라는 객체(실제로 화면에 출력되는 BODY에 대응되는 객체라고 생각하면된다.)에 "Hello, World!"라는 문장을 쓴라는 것이다.
- ; : 맨마지막에 ;문자는 C언어에서 온 것이지만, 약간 다른 것은 single line문장일 경우는 ;를 반듯이 사용할 필요가 있는 것은 아니다. 여러문장을 하나의 줄에 쓸때, 각 문장을 ;로 구분하는 것이다.

3. 함수사용하기
예제2>
<HTML>
<HEAD>
<script>
function call(){
    document.write("TEST")
}
</script>
<body>
<script>call();</script>
Result...
</body>
</html>

예제2 결과>
TEST Result...

4. 기본함수
alert(String) - String을 경고문으로 출력한다. (리턴값 없음)
confirm(String) - 화면에 경고문구와 확인, 취소버튼을 출력 (리턴값 true, false)
prompt(String, IntString) - 화면에 문자를 쓰고 초기값을 넣어준다. (리턴값 String)
parseInt(String) - 문자를 정수로 바꾸어 반환한다. (리턴값 int)
parseFloat(String) - 문자를 실수로 바꾸어 반환한다. (리턴값 Float)
eval(String) - 문자를 식으로 인식하여 계산결과를 반환한다. (리턴값 number)




[출처]DEADFIRE Homepage // Deadfire Program Master
(개인공부를 겸해 정리를 하는 것임을 알려드립니다.~)

'공부 > Javascript' 카테고리의 다른 글

내장객체  (0) 2011.07.11
객체  (0) 2011.06.21
javascript 문법  (0) 2011.06.20
Javascript란?  (0) 2011.06.15
반응형
1. 자바스크립트의 정의
클라이언트, 서버 응용프로그램 개발이 가능한 객체기반의 스크립트 언어 이다.

2. 작동원리
JavaScript는 HTML문서속에 포함되어서 전송되어 진다. 즉, 브라우져가 특정한 HTML을 요청하게 되면, 웹서버가 이를 브라우져에게 전송하게 된다. 브라우져는 HTML부분은 화면에 출력하고, Javascript부분은 실행 하게 되는 것이다. JavaScript는 HTML문서내에 포함되어 사용자의 행위에 반응하게 된다.

3. 장점
빠른 개발이 가능
배우기 쉽다
사용 컴퓨터의 OS에 무관하게 프로그램이 수행된다.
웹서버에 주는 부담이 적다

4. 단점 
사용할 수 있는 메소드가 적다.
소스코드를 감출 수가 없다.
디버깅도구와 개발도구가 부족하다.



[출처]DEADFIRE Homepage // Deadfire Program Master
(개인공부를 겸해 정리를 하는 것임을 알려드립니다.~)

'공부 > Javascript' 카테고리의 다른 글

내장객체  (0) 2011.07.11
객체  (0) 2011.06.21
javascript 문법  (0) 2011.06.20
Javascript 기초  (0) 2011.06.17
반응형
1. 데이터베이스
데이터베이스란 데이터를 조직적으로 통합하여 구조화시켜 놓은 데이터의 집합체이다.
데이터베이스를 생성하고 검색하며, 추가, 삭제를 원활히 하려는 프로그램의 집합을 데이터베이스 관리 시스템(DBMS : Database Management System) 이라고 한다.

DBMS의 기능
1)데이터 구조 정의
2)데이터 검색 및 갱신
3)데이터 추가 및 삭제
4)복수의 사용자로부터 데이터 처리 동시 실행 제어
5)정보보호

DBMS의 형태중 가장 일반적인 것은 관계형 데이터베이스 관리 시스템(RDBMS : Reation DBMS)이다. 관계형 DBMS 데이터 모델은 테이블의 집합으로 표현되어 있다. 데이터베이스는 한 개 이상의 테이블이 존재한다. 또한 테이블은 여러 개의 레코드로 존재 한다.

테이블의 형식
레코드 : 테이블에 저장된 데이터의 행
필드명 : 항목명
필드 : 테이블에 저장된 데이터의 열


2. SQL SERVER
(1) SQL 질의어
SQL(Structured Query Language)은 데이터베이스를 정의하고 조작하려는 질의어(Query Language)이다.

(2) SELECT 문
테이블에서 레코드를 검색할 때 사용하는 구문

형식>SELECT 필드이름 FROM 테이블이름 [WHERE 조건문]
예>   SELECT name FROM tblMember WHERE num = '4'

(3) INSERT 문
테이블에서 레코드를 삽입할 때 사용하는 구문

형식>INSERT INTO 테이블이름 ( 필드이름 ) VALUES ( '값' )
예>   INSERT INTO tblMember (id, pwd, name) VALUES ('melon', '4444', '김콩쥐')
        INSERT INTO tblMember (age, phone) VALUES ('19', '019-999-9999')

(4) UPDATE 문
테이블에서 레코드를 수정할 때 사용하는 구문

형식>UPDATE 테이블이름 SET 필드이름 = '값' [WHERE 조건문]
예>   UPDATE tblMember SET age = '19'
        UPDATE tblMember SET id = 'grapes', name = '팥쥐' WHERE num = '4'

(5) DELETE 문
테이블에서 레코드를 삭제할 때 사용하는 구문

형식>DELETE FROM 테이블이름 [WHERE 조건문]
예>   DELETE FROM tblMember
        DELETE FROM tblMember WHERE pwd = '4444'

3. ADO
(1) ADO(ActiveX Data Objects)는 DAO(Data Access Objects)나 RDO(Remote Data Objects)보다 데이터베이스 접근 절차를 줄여 프로그래머로 하여금 쉽게 데이터베이스에 접근하여 프로그래밍 할 수 있도록 도와주는 객체 모음이다.

(2) DAO : 관계형 데이터베이스의 구조를 모델화한 객체 클래스의 집합니다. 솜규모의 지역적인 클라인언트/서버 환경에서 데이터베이스 구축이 가능하다.

(3) RDO : SQL Server, Oracle 등을 ODBC를 통해서만 데이터베이스에 접근할 수 있다. 관계형 데이터베이스를 제어하는 객체, 속성, 메소드 등을 지원하며 대규모 관계형 데이터베이스 구축에 사용하기 적합한 방법이다.

(4) ODBC(Open Database Connectivity)

(5)ADO 객체 및 컬렉션
 1) 객체
Connection - 프로그램과 데이터베이스의 연결
Command - SQL 문과 같은 명령을 정의하고 실행
Error - 데이터 접근 실패의 설명
Field - 일반 데이터형을 사용하는 데이터
Parameter - Command 객체와 함께 사용되는 파라미터, 인수 의미
Property - ADO 객체의 특성
Record - 저장된 데이터를 처리
Recordset - 데이터베이스에 대한 명령 실행의 결과 등의 반환 값의 집합
Stream - 전자메일, 웹 페이지와 같은 내용에 접근할 때 사용

 2) 메소드
Errors - 명령에 의해 생성된 오류
Fields - Recordset 객체나 Record 객체의 모든 Field 객체 포함
Parameters - Command 객체의 파라미터 포함
Properties - 객체의 속성 포함

4. Connection 객체
데이터베이스에 연결하여 레코드의 추가, 수정, 삭제 등의 작업을 SQL 문을 사용하여 실행 할 수 있는 객체이다.

(1) Connection 객체
 1) 메소드
BeginTrans - 트랜젝션의 시작
Cancel - 현재 처리중인 실행 작업 중단
Close - 연결과 관련된 객체를 닫음
CommitTrans - 현재 트랜잭션 종료
Execute - 질의문 등을 실행
Open - 데이터 소스에 접근 개시
OpenSchema - 데이터베이스 스키마 정보 반환
RollbackTrans - 현재 트랜잭션의 모든 변경 사항 취소 후 트랜잭션 종료
 2) 속성
Attributes - Connection 객체의 속성 반환
CommandTimeout - 명령 실행 제어 시간
ConnectionString - 데이터베이스 연결 문자열
ConnectionTimeout - 데이터 소스와의 연결 시도 제한 시간
CursorLocation - 커서의 위치 조정
DefaultDatabase - Connection 객체에서의 기본 데이터베이스
Errors - 연결 오류로 인한 Error
IsolationLevel - 트랜잭션의 격리 수준 설정
Mode - 데이터베이스의 데이터 변경에 관한 허용범위 설정
Properties - Connection 객체의 속성 정보 반환
State - 현재 연결 상태 반환
Version - ADO 버전 번호 반환

Connection 객체를 사용하려면 Server 객체의 CreateObject 메소드를 사용하여 객체를 생성해야 한다.

형식> Set 객체 = Server.CreateObject("ADODB.Connection")
예>    Set ConnDB = Server.CreateObject("ADODB.Connection")
         Set objCon = Server.CreateObject("ADODB.Connection")

객체를 생성한 후에는 데이터베이스에 연결하는 작업을 해야 한다. 데이터베이스 연결은 Open 메소드와 데이터베이스 정보를 이용하여 이루어진다.

ODBC 연결방식일 때

형식> 객체.Open DSN|연결문자열 = 경로명 [, 아이디, 비밀번호 ]
예>    ConnDB.Open "DSN=dbMember;UID=member;PWD=1;"
         objCon.Open "Driver={SQL Server}; Server=myserver;
                             Database=dbMember;UID=member;PWD=1;"

OLE DB 연결방식일 때

형식> 객체.ConntionString="Provider = OLE DB 데이터 공급자;
                Data Source = 서버; Initial Catalog = 데이터베이스;
                User ID = 아이디; Password = 비밀번호"
예>    ConnDB.ConntionString="Provider = SQLOLEDB;
                Data Source = (localhost); Initial Catalog = tblMember;
                User ID = member; password = 1;

Connection 객체를 사용하여 연결하고 어떠한 작업을 마친 후에는 데이터베이스와의 연결을 종료하고 객체의 리소스를 해제해야 한다.

Connection 객체의 연결 종료와 리소스 해제의 형식

형식> 객체.Close
         Set 객체 = Nothing
예>    ConnDB.Close
         Set ConnDB = Nothing

'공부 > ASP' 카테고리의 다른 글

Server 컴포넌트  (0) 2011.06.14
Application, Session, Server 객체  (0) 2011.06.13
객체의 구성요소  (0) 2011.06.10
Request, Response 객체  (0) 2011.06.10
Command 객체  (0) 2011.06.10
반응형
1.Server 컴포넌트
ASP에서는 프로그래머들이 구현하기 힘든 기능이나 구현할 수 없는 기능들을 이미 컴포넌트로 제작해 지원하고 있다. 이런 컴포넌트들을 간단히 가져다 쓰기만 하면 되는것이다.

형식> Set 변수명 = Server.Createobject("ProgID")
예>    Set AD = Server.CreateObject("MSWC.AdRotator")
         Set BCheck = Server.CreateObject("MSWC.BrowserType")

표준 컴포넌트
ADO - 데이터베이스 처리
Ad Rotator - 동적 광고 표현
Browser Capability - 브라우저의 특성과 정보 출력
CDO(Collaboration Data Object) - 메일 관련 기능 처리
Content Linking - 페이지 연결

(1) Ad Rotator 컴포넌트
광고들은 사용자가 접속 할 때 마다 랜덤하게 출력한다.
Ad Rotator 컴포넌트를 사용하는 ProgID는 MSWC.AdRotator로 설정

메소드
GetAdvertisement - 스케일 파일을 읽은 후 HTML 페이지에 출력할 광고 이미지 리턴

속성
Border - 광고 경계의 폭
Clickable - 광고가 하이퍼링크인지 정의
TargetFrame - 광고를 디스플레이할 프레임 이름

디스플레이할 광고를 결정하려면 스케줄러 파일을 작성해야 한다. 이러한 스케줄러 파일에는 디스플레이할 광고들이 목록으로 저장되어 있으며 이 데이터들이 어떠한 형식으로 저장되어 있는지를 알아야 Ad Rotator 컴포넌트를 제대로 활용할 수 있다.

매개변수
adURL - 광고 이미지 파일 위치 지정
adHomePageURL - 광고주 홈페이지 지정
Border(이미지 경계 두께) - 광고 이미지 경계 두깨
Height(이미지 높이) - 광고 이미지 높이 지정
Impressions - 광고를 디스플레이할 빈도수
Redirect(URL) - 이동할 파일이나 위치 지정
Text - 이미지를 디스플레이 할 수 없을 때 보여줄 문자열
Width(이미지 넓이) - 광고 이미지 넓이 지정
* - 세션 분리자


(2) Browser CapaBility 컴포넌트
현재 각 사용자들이 사용하는 브라우저의 정보를 알 수 있는 기능을 한다. 이러한 정보를 제공함으로써 프로그래머들은 사용자들의 브라우저에 맞는 페이지를 전송해 줄 수 있다.

Browser CapaBility 컴포넌트를 사용하는 ProgID는 MSWC.BrowerTyper로 설정한다.
Browser CApability 컴포넌트는 Brower.dll 파일과 Browscap.ini 라는 텍스트 파일로 구성되어있다. Browscap.ini 파일은 각 부라우저의 정보를 가지고 있다. 이 파일에 새로운정보를 추가하고 변경함으로써 쉽게 수정할 수 있다.

(3) Content Linking 컴포넌트
사용자들이 어떠한 웹 페이지에 접속하여 어떤 내용을 클릭했을 때에 링크되어 있는 페이지가 어디에 위치해 이ㅏㅆ는지 알려주는 역할을 하며 페이지들의 정보는 텍스트 파일로 저장되어 관리된다. 이 컴포넌트는 웹 사이트의 페이지 분량이 많고 정기적인 페이지를 보여주는 사이트에 유용하다.

Content Linking 컴포넌트를 사용하는 ProgID는 MSWC.NextLink로 성정

메소드
GetListCount - 리스트 파일에 있는 전체 라인의 수 리턴
GetListIndex - 리스트 파일에 있는 현재 화면의 리스트 위치 리턴
GetNextURL - 리스트 파일에 있는 다음 페이지의 URL 리턴
GetNextDescription - 리스트 파일에 있는 다음 페이지의 설명 리턴
GetNthURL - 리스트 파일에 있는 N번째 라인의 URL 리턴
GetNthDescription - 리스트 파일에 있는 N번째 라인의 설명 리턴
GetPreviousDescription - 리스트 파일에 있는 이전 페이지의 URL 리턴
GetPreviousURL - 리스트 파일에 있는 이전 페이지의 설명 리턴

형식> 위치(URL)<TAB>설명<TAB>주석<TAB>
예>    Login.asp        로그인 페이지        초기화면
         AdRotator.asp  Ad Rotator Component

'공부 > ASP' 카테고리의 다른 글

데이터베이스와 ADO 객체 활용  (0) 2011.06.15
Application, Session, Server 객체  (0) 2011.06.13
객체의 구성요소  (0) 2011.06.10
Request, Response 객체  (0) 2011.06.10
Command 객체  (0) 2011.06.10
반응형
1. Application 객체
Application 객체는 사이트 전체를 통해 모든 사용자가 정보를 공유할 때 사용하는 ASP의 내장 객체이다.

형식> Application.("변수") = 값
예>    Application("Name") = "홍길동"
         Application("Age") = "17세"

(1) Contents 컬렉션
Application 객체에 저장된 항목의 값은 Contents 컬렉션을 사용하여 접근할 수 있다.

형식> Application.Contents (항목명 | 항목번호)
예>    Application.Contents (intInfo)
         Application.Contents (5)

(2) Contents.Remove 메소드, Contents.RemoveAll 메소드
Remove 메소드는 Application Contents 컬렉션의 지정된 항목을 삭제할 때 사용한다.

형식> Application.Contents.Remove ("항목명" | 항목번호)
예 >   Application.Contents.Remove (5)
         Application.Contects.RemoveAll ()

(3) Lock 메소드, UnLock 메소드
Application 객체는 모든 사람이 함께 정보를 공유하므로 여러 사람이 항목에 동시에 접근하여 수정하려 한다면 의도하지 않은 문제가 발생할 것이다. 이러한 문제를 방지하려고 Lock 메소드와 UnLock 메소드를 사용한다. 즉, 여러 사람이 같은 항목에 접근하여 수정할 때에는 문제가 발생할 위치에 Lock 메소드를 사용하여 Application 객체를 잠그고 UnLock 메소드를 사용하여 다시 잠금 상태를 해제한다.

형식> Application.Lock
         Application.UnLock


2. Sesson 객체
Application 객체가 모든 사용자가 정보를 공유할 수 있도록 하는 역할을 한다면 Session 객체는 개별 사용자에게 정보를 공유하는 역할을 한다. 즉, 웹 사이트와 사용자간의 연결 상태를 관리하고 각 사용자마다 다른 환경의 서비스를 제공이 가능하도록 하는 역할을 한다.

형식> Session.("변수") = 값 | 객체
예>    Session.("totalCounter") = 0

(1) Contents 컬렉션
Application 객체의 Contents 컬렉션과 같이 Session 객체에 저장된 항목의 값은 Contents 컬렉션을 사용하여 접근할 수 있다.

형식> Session.Contents ("항목명" | 항목번호)
예>    Session.Contents ("name")
         Session.Contents (5)

(2) Abandon 메소드
Abandon 메소드는 Session 객체에 저장된 항목을 삭제하는 역할을 한다.

형식> Session.Abandon

(3) Contents.Remove 메소드, Contents.RemoveAll 메소드
Remove 메소드는 Session Contents 컬렉션의 지정된 항목을 삭제할 때 사용한다.

형식> Session.Contents.Remove (항목명 | 항목 번호)
예>    Session.Contents.Remove ("Email")
         Session.Contents.Remove (5)
         Session.Contents.RemoveAll ()

(4) SessionID 속성
사용자가 서버에 ASP 페이지를 처음 요청할 때에는 SessionID 속성을 사용하여 SessionID라는 고유한 숫자를 생성하여 쿠키로 저장한다. 이 쿠키로 인하여 서버는 각 사용자를 판별할 수 있다. 또한 이때 생성된 SessionID를 사용하여 서버는 사용자를 추적할 수 있다.

형식> Session.SessionID

(5) Timeout 속성
Timeout 속성은 Session 객체의 제한 시간을 지정할 때 사용하는 속성이다. 지정한 시간 동안 사용자가 페이지를 요청하지 않으면 세션은 종료된다.

형식> Session.Timeout [=시간(분)]
예>    Session.Timeout = 10

3. Server 객체
Server 객체는 서버의 속성과 메소드에 접근할 수 있도록 해주는 역할을 한다. Server 객체를 이용함으로써 사이트 개발과 관리가 수월해질 수 있다.

형식>Server.속성 | 메소드
예>   Server.ScriptTimeout = 10
        Server.Transfer ("Login.htm")

(1) ScriptTimeout 속성
ScriptTimeout 속성은 서버에서의 스크립트 실행 시간을 지정하는 역할을 한다. 다음 형식에서 보는 바와 같이 최대 시간을 초로 지정하여 사용한다.

형식>Server.ScriptTimeout = 시간(초)
예>   Server.ScriptTimeout = 10
        Server.ScriptTimeout = 20

(2) Execute 메소드
Execute 메소드는 지정한 경로의 페이지를 현재 페이지에 삽입하는 역할을 한다. 즉 지정한 경로의 ASP 파일을 처리한 후 처리된 결과 값을 다시 전송받는 것이다.

형식>Server.Execute ("경로")
예>   Server.Execute ("Execute2.asp")
        Server.Execute ("Login.htm")

(3) HTMLEncode 메소드
HTMLEncode 메소드는 HTML 태그를 브라우저에서 볼 수 있도록 하는 역할을 한다.

형식> Session.HTMLEncode ("문자열")

(4) MapPath 메소드
MapPath 메소드는 해당 파일이나 디렉토리의 물리적인 경로를 획득해야 할 때에 사용한다. 상대 경로나 가상 경로 모두 실제 경로로 매핑이 가능하다.

형식>Server.MapPath ("경로")
예>   Server.MapPath (".")

(5) Transter 메소드
Transfer 메소드는 Response 객체의 Redirect 메소드와 마찬가지로 지정한 경로의 ASP 파일로 이동하는 역할을 하는 메소드이다. 즉 다른 ASP 웹 페이지를 첨부하여 경로를 지정한 웹 페이지의 일부인 것처럼 실행시키는 역할을 한다.

형식>Server.Transfer ("경로")
예>   Server.Transfer ("Login.htm")
        Server.Transfer ("Transfer1.asp")

'공부 > ASP' 카테고리의 다른 글

데이터베이스와 ADO 객체 활용  (0) 2011.06.15
Server 컴포넌트  (0) 2011.06.14
객체의 구성요소  (0) 2011.06.10
Request, Response 객체  (0) 2011.06.10
Command 객체  (0) 2011.06.10
반응형
객체의 구성요소
- 컬렉션. 속성. 메서드. 이벤트

컬렉션 : 배열과 유사한 형태의 정보로서'키'와 '값' 의 쌍으로 구성되는 형태
속성 : 객체가 가지는 특성으로 내부 변수 형태로 설명할수 있다.
메서드 : 객체가 가지는 실행 함수
이벤트 : 객체에서 발생할 수 있는 사건

'공부 > ASP' 카테고리의 다른 글

Server 컴포넌트  (0) 2011.06.14
Application, Session, Server 객체  (0) 2011.06.13
Request, Response 객체  (0) 2011.06.10
Command 객체  (0) 2011.06.10
Recordset 객체  (0) 2011.06.08
반응형
1. Request 객체
클라이언트에서 어떤 페이지를 요청하면 서버로 요청 정보를 전송하는데, 이렇게 전송된 데이터가 저장되는 곳이 바로 Request 객체이다. 사용자가 브라우저를 통해 서버에게 어떤 요구를 하면 Request 객체는 이때 사용자의 브라우저 정보나 입력한 값 등의 정보를 갖게 된다.

사용형식>
Request.[컬렉션 | 속성 | 메소드]("변수")

예) Request.QueryString("strID")
     Request.Cookies("Login")
     Request.ServerVariables("SERVER_NAME")

(1) ClientCertificate 컬렉션 - 클라이언트가 전송한 인증서
사용자의 인증을 위한 디지털 인증정보의 내용을 조사한다. 그다지 많이 쓰이지 않는 컬렉션이다.

형식> Request.ClientCertificate (키)
예>    Request.ClientCertificate (member)

(2) Cookies 컬렉션 - 클라이언트가 전송한 쿠키값
쿠키는 사용자의 시스템에 간단한 정보를 저장하여 필요할 때마다 해당 정보를 읽어오려고 한다.
(쿠키를 사용하는 주된 원인은 간단한 정보를 클라이언트에 저장함으로써 서버의 부하를 크게 줄일 수 있다.)

형식> Request.Cookies (쿠키변수) [(하위쿠키 변수) | .속성 ]
예> Request.Cookies (strLog)
      Request.Cookies (strLog) (strSubLog)

(3) From 컬렉션 - 클라이언트가 전송한 폼 요소
서버로 데이터를 전달하는 방법은 get, post 두 가지 방식이 있다. get 방식은 QueryString 컬렉션이 해당 데이터를 받고 post 방식은 Form 컬렉션이 해당 데이터를 받는다.

전달할 데이터를 입력하려고 <Form> 태그를 다음과 같이 사용한다.
<Form Method = "post" Action = "웹페이지" >
태그를 해석하면 사용자가 서버로 전달하고자 입력한 데이터를 post 방식으로 전송하고 지정한 웹페이지에서 데이터를 처리한다는 것을 뜻한다. 처리된 데이터는 Form 컬렉션에 저장되는데 이러한 값을 읽으려면 Form 컬렉션을 사용해야 한다.

형식> Request.Form (변수)
예>    Request.Form ("strID")
         Request.Form ("strPWD")

<Form>태그는 사용자가 입력한 값을 전달하는 역할을 한다.

형식> <Form Method="전송방식" Action="값을 전달 받을 URL" Enctype = "인코딩할 폼 데이터의 타입 지정" Target = "출력될 창의 이름" >

<INPUT>태그는 입력받을 곳을 생성한다.

형식><INPUT Type = "입력형태" name = "이름" Value = "값">


(4) QueryString 컬렉션 - HTTP 질의 문자열에 있는 변수 값
Form 컬렉션이 post 방식으로 전송된 데이터를 저장하는 것이라면 QueryString 컬렉션은 get 방식으로 전송한 데이터를 저장하는 역할을 한다. 그러므로 Form 컬렉션과 QueryString 컬렉션의 사용법은 비슷하다.

형식>Request.QueryString (변수)
예>   Request.QueryString("strID")
        Request.QueryString("strPWD")

입력폼 만들기
형식><Form Method = "get" Action = "웹페이지">

<INPUT>태그는 post 방식과 동일


(5) ServerVariables 컬렉션 - HTTP와 환경 변수 값
ServerVariables 컬렉션에 기본적인 사용자가 서버로 전송한 정보들이 저장되어 있다.
형식> Request.ServerVariables (서버환경변수)
예>    Request.ServerVariables (strKey)
         Request.ServerVariables ("HTTP_USER_AGENT")

(6) TotalByte 속성 - 클라이언트가 전송한 총 바이트 수
사용형식> Request.TotalBytes


2. Response 객체
사용자가 어떤 요청을 하였을 때 서버가 이에 응답을 보내려고 Response 객체를 사용한다.

형식>Response.[컬렉션 | 속성 | 메소드]
예>   Response.Redirect "From.htm"
        Response.Cookies ("MemberInfo")
        Response.Write "HELLOASP"

(1) Cookies 컬렉션 - 보내지는 쿠기값
Response 객체에서는 Cookies 컬렉션을 사용하여 해당 값을 기억하려고 사용한다.

형식>Resposne.Cookies(쿠키 변수)[(하위 쿠키 변수) | .속성] = 쿠키 값
예>   Response.Cookies("MemberInfo")("strName") = "홍길동"
        Response.Cookies("MemberInfo").Expires = "May 5, 2006"

(2) Buffer 속성 - ASP의 결과가 완성될 때까지 캐시 할 것인지를 지정
Buffer 속성은 버퍼에 저장할 것인지 안 할 것 인지를 지정하는 속성
Buffer의 값을 'TRUE'로 값을 지정할 때에는 사용자가 요청한 결과를 처리할 때 해당 페이지가 완성될 때까지 또는 Flush나 End 메소드가 호출될 때 까지 해당 결과를 전송하지 않는다. 'FALSE'로 값을 지정할 때에는 결과 페이지를 저장하지 않고 즉시 클라이언트로 전송한다.

(3) CacheControl 속성 - Content Type 헤더에 문자 집합 이름 추가
서버와 사용자 사이에는 페이지 응답 시간을 단축시키려고 해당 웹 페이지를 캐시ㅣ하도록 구성되는 프록시 서버가 있다. 이러한 프록시 서버가 ASP의 결과를 캐시할 것인지에 대한 지정하는 속성이다.

형식>Response.CacheControl [=Cache Control Header]

(4) ContentType 속성 - HTTP 컨텐츠 형식 지정
서버가 사용자에게 파일을 보낼때에 해당 파일의 타입을 지정한다. 이렇게 콘텐츠 형식을 지정함으로써 사용자의 브라우저에 자체적으로 출력할 것인지 아니면 다른 응용 프로그램을 호출할 것인지를 결정하게 된다.
기본 값은 'text/html' 이다.

형식>Response.ContentType [=콘텐츠 형식]
예>   Response.ContentType = "image/GIF"
        Response.ContentType = "image/JPEG"

(5) Expires 속성 - 캐시된 페이지의 만료기간 지정
브라우저에 캐시된 페이지의 만료 기간을 지정하는 역할을 한다. 페이지가 만료되기 전에 같은 페이지가 호출되면 캐시된 페이지가 출력된다.

형식>Response.Expires = "May 5, 2006"
예>   Response.Expires = 0

일반적으로 Expires의 값에는 날짜를 적어주지만 0이나 -1 등을 사용해서도 값을 지정할 수 있다. 만약에 해당 값을 0으로 지정하면 브라우저에서 ASP 페이지가 캐싱하지 못하게 되며 -1 등의 음수로 값을 지정했을 때에는 응답이 즉시 만료가 된다.

(6) ExpiresAbsolute 속성 - 캐시된 페이지의 만료 날짜와 시간 지정
브라우저에 캐시된 페이지의 만료 기간을 지정하는 역할을 한다. 하지만 차이점이 있다면 Expiresabsolute 속성은 날짜 이외에 시간까지 지정할 수 있다.

형식>Response.ExpiresAbsolute [= [날짜] [시간] ]
예>   Response.ExpiresAbsolute =#May 5, 2006 12:30:30#

날짜형식은 #과 # 사이에 값을 넣어 나타낸다.

(7) IsClientConnected 속성
클라이언트와 서버가 연결되었는지 아니면 끊었는지를 알려주는 속성이다.

형식>Response.IsClientConnected()

(8) Redirect 메소드
사용자가 서버에 웹 페이지를 요청하면 일반적으로 해당 웹 페이지를 전송한다. 하지만 Redirect 메소드를 사용하면 웹페이지 대신 지정한 URL로 이동시킬 수 있다.

형식>Response.Redirect URL
예>   Response.Redirect "Login.htm"
        Response.Redirect "Form.htm"

'공부 > ASP' 카테고리의 다른 글

Application, Session, Server 객체  (0) 2011.06.13
객체의 구성요소  (0) 2011.06.10
Command 객체  (0) 2011.06.10
Recordset 객체  (0) 2011.06.08
Connection 객체  (0) 2011.06.07
반응형
1. Command 객체의 속성과 메서드
(1)Command 객체의 속성
ActiveConnection - 데이터베이스 연결을 위한 Connection 객체 또는 DSN을 가리킴
CommmandText - 실행 될 명령어나 쿼리
Command Type - 명령어 타입
Prepared - TRUE면 명령어 실행 전에 미리 컴파일 되도록 지정

(2)Command 객체의 메서드
CreateParameter - 새로운 Paremeter 객체를 만듦
Execute - CommandText에 있는 명령어를 실행시킴

2. Command 객체의 생성 및 명령의 실행
(1) 객체생성
예문)
Set cm = Server.Createobject("ADODB.Command")

(2) 명령의 실행
예문)
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=" & Server.MapPath(".") & "\Db\memberdb.mdb;"
Set cm = Server.CreateObject("ADODB.Command")
cm.ActiveConnection = cn
cm.CommandText = "delete from member where id = 'fatfox'
cm.execute

ActiveConnection 속성 값은 이미 연결된 Connection 객체변수명인 cn을 써 주면 된다. 지금 여기서는 CommandText를 보면 id가 'fatfox'인 레코드를 삭제하려고 하고 있다. 이렇게 Command 객체로 명령의 실행은 Command 객체의 속성을 먼저 지정한 다음 execute 메서드를 이용하여 명령을 보내게 된다.

3. Command 객체를 이용한 매개 변수 쿼리 실행
인수를 넘기는 저장 프로시저나 매개 변수 값을 넘기는 매개 변수를 포함한 쿼리의 경우 Command 객체로만 실행 할 수 있다.

가령 2개의 인수를 받아 들이는 쿼리 StoredProc1이 있고, 그 쿼리에 2개의 인수 값을 각각 100과 200으로 줄려면 다음과 같이 하면 된다.
cm.CommandText = "StoredProc1"
cm.Execute affectedcnt, array(100,200)
첫번째 인수 affectedcnt는 영향을 받은 레코드 수를 리턴 받기 위한 변수이고, 두 번째 인수인 array()를 이용하여 인수 값을 넘기게 된다.




'공부 > ASP' 카테고리의 다른 글

객체의 구성요소  (0) 2011.06.10
Request, Response 객체  (0) 2011.06.10
Recordset 객체  (0) 2011.06.08
Connection 객체  (0) 2011.06.07
ADO 컴포넌트와 ODBC/OLE DB  (0) 2011.06.03
반응형
1. Recordset 객체의 속성과 메서드

(1)Recordset 객체의 속성
AbsolutePage - 현재 레코드가 위치한/할 절대 페이지
AbsolutePosition - 현재 레코드의 순서 위치
ActiveConnection - 현재 레코드 객체가 속해 있는 Connection 객체
BOF - 레코드 셋에서 첫 레코드 이전을 가리키면 TRUE
CursorType - 레코드 셋에 적용되는 커서 타입
EOF - 레코드 셋에서 끝 레코드 다음을 가리키면 TRUE
LockType - 레코드 셋에 적용되는 락 타입
PageCount - 레코드 셋의 총 페이지수
PageSize - 한 페이지를 구성하는 레코드 수
RecordCount - 레코드 셋의 총 레코드 수

(2)Recordset 객체의 메서드
AddNew - 추가를 위해 새 레코드를 하나 만듦
Close - Open 되었던 Recordset 객체 변수를 닫음
Move - 레코드 셋에서 레코드 포인터를 옮김
MoveFirst - 레코드 셋에서 레코드 포인터를 처음으로 옮김
MoveLast - 레코드 셋에서 레코드 포인터를 마지막으로 옮김
MoveNext - 레코드 셋에서 레코드 포인터를 다음 레코드로 옮김
MovePrevious - 레코드 셋에서 레코드 포인터를 이전 레코드로 옮김
Open - 쿼리를 실행하고 레코드 셋을 가져옴
Supports - 레코드 셋에서 어떤 함수가 지원되는지 체크함
Update - 현재 레코드에서 변견된 내용을 저장함


2. Recordset 객체의 생성 및 열기
Recordset 객체의 생성

Set rs = Server.CreateObject("ADODB.Recordset")

rs는 임의로 지정할 수 있는 객체변수, 객체변수에 값을 할당할 때 객체변수명 앞에 Set이란 접두어가 온다.

Recordset 객체를 생성하지 않고 사용되는 예

Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=" & Server.MapPath(".") & "\Db\memberdb.mdb;"
Set rs = cn.execute("select * from member")

여기서는 객체가 생성되지 않고 리턴되는 레코드 집합이 할당되고 있다. 이 때는 내부적으로 Recordset객체가 디폴트 형식으로 생성되고 있는 것이다.


3. 레코드 사이의 이동
다음의 메서드들이 레코드사이의 이동을 가능하게 하는 Recordset 객체의 메서드들이다.
Move - 레코드 포인터를 상대적으로 옮김
예) rs.Move 2 - 레코드를 현재 포인터에서 2 증가
Movenext - 레코드 포인터를 다음 레코드로 옮김
MovePrevious - 레코드 포인터를 이전 레코드로 옮김
MoveFirst - 레코드 포인터를 처음 레코드로 옮김
MoveLast - 레코드 포인터를 마지막 레코드로 옮김

4. BOF(Biginning Of File)와 EOF(End Of File) 속성
BOF는 처음 레코드를 가리키고 있을 때 TURE가 되는 것이 아니라 레코드 포인터가 처음 레코드의 이전을 가리킬 때 TRUE가 되는 속성이다. 마찬가지로 EOF는 마지막 레코드를 가리키고 있을 때 TRUE가 되는 것이 아니라 레코드 포인터가 마지막 레코드의 다음을 가리킬 때 TRUE가 되는 속성이다.
즉, 존재하지 않는 레코드를 가리키게 될 때 TRUE가 되는 속성이다.

5. Recordset 객체의 Fields 컬렉션
사용법
rs.fields.item("필드명") 또는 rs.fields("필드명") 또는 rs("필드명") 처럼 사용한다.

다른방법으로는 필드명을 모를 때 인덱스를 사용하여 필드를 가리키는 것으로 첫 번째 필드는 인덱스 '0'이다.

rs.fields.item(0) 또는 rs.fields(0) 또는 rs(0) 처럼 사용할 수 있다.

필드의 개수는 fields 컬렉션의 count 속성으로 알 수 있다.
rs.fields.count

6. 페이지 단위로 레코드 집합을 보기
 Recordset 객체는 페이징 기법을 제공하는데 이와 관련된 몇가지 속성들을 살펴보면 다음과 같다.
pagesize - 한 페이지를 구성하는 레코드의 개수
absolutepage - 현재의 레코드가 위치한 페이지 포인터(첫 페이지는 1페이지) 또는 디스클레이할 페이지 포인터
pagecount - 레코드 집합의 전체 페이지 수

pagesize를 결정한다. 그리고 absolutepage로써 디스플레이 할 페이지를 결정한다. absolutepage 값은 각 페이지의 디스플레이 말미에 있는 form에서 넘어오는 값으로 계산한다.
form에서는 2가지 값이 넘어 오는데, hidden 타입으로 넘어 오는 바로 전에 보였던 페이지 번호와 submit 타입으로 넘어 오는 사용자 요구에 의해 선택되는 '다음페이지' 혹은 '이전페이지' 중 어느 것을 클릭하였는가에 따라 넘어 오는 방향을 나타내는 값, 이렇게 2 가지 값에 의해 absolutepage 값이 결정된다.


7. Recordset의 커서 타입(Cursor Type)
커서타입 상수값  커서 이동  다른 사용자의 레코드 수정  다른 사용자의 레코드 추가   다른 사용자의 레코드 삭제  특징
 ForwardOnly  0 전진만 가능  보이지 않음  보이지 않음  보이지 않음   속도가 가장 빠름(디폴트 타입)
 keyset  1  양방향가능  보임  보이지 않음  보이지 않음  
 Dynamic 양방향가능   보임  보임  보임  속도가 가장 느림
 static  3  양방향가능  보이지 않음  보이지 않음  보이지 않음  

예) Static으로 커서 타입을 지정하는 경우라면
Set rs = Server.Createobject("ADODB.Recordset")
Rs.Open "select * from member", cn, 3

또는

Set rs = Server.CreateObject("ADODB.Recordset")
Rs.source = "select * from member"
Rs.ActiveConnection = cn
Rs.CursorType = 3
Rs.open

또 한가지 방법은 미리 상수를 define 한 뒤 그 상수 이름을 사용하는 방법이다.

const adOpenStatic = 3
Set rs = Server.Createobject("ADODB.Recordset")
Rs.Open "select * from member", cn, addOpenStatic


8. Recordset 객체를 이용한 레코드 수정, 추가, 삭제
Connection 객체를 생성한 뒤, Connection 객체의 execute 메서드에 sql쿼리를 보낼 수 있기에, update, insert, delete 쿼리를 실행 함으로써 레코드에 대해 작업을 해 왔다. 반면 Recordset 객체의 메서드를 이용하여 레코드에 대해 수정, 추가, 삭제가 가능하다. Recordset 객체에서 제공하는 이와 같은 관련 메서드에는 다음과 같은 것들이 있다.

supports - 어떤 메서드가 지원되는지 여부를 검사, 지원되면 TURE
update - 현재 레코드에 대해 변경한 내용을 모두 저장
addnew - 새로운 레코드 추가 생성
delete - 현재 레코드 포인터가 가리키는 레코드 삭제

Supports는 어떤 메서드가 현재 open된 객체에서 지원되는지 여부를 검사하는 메서드로서, 지원되면 TRUE를 리턴한다.
사용예)
if rs.supports(update) then
   rs("ID") = "aaa"
   rs("passwd") = "1234"
   rs.update
end if

Update 메서드는 현재 레코드에 대해 변경한 내용을 모두 저장하는 메서드
사용예)
   rs("name") = "홍길동"
   rs("age") = 150
   rs.update


Addnew 메서드는 새로운 레코드를 추가 생성할 때 사용하는 메서드로서 Addnew 메서드가 호출되면 update 가능한 빈 레코드 하나 생성되는 셈이다. 레코드의 각 필드를 채운 후 update 메서드를 호출해야 데이터베이스에 저장이 완료된다.
사용예)
rs.addnew
rs("ID") = "fatfox"
rs("name") = "이주형"
rs("age") = 7
rs.update

Delete 메서드는 현재 레코드 포인터가 가리키는 레코드를 삭제하는 메서드로서 레코드 집합 전체가 지워지는 것은 아니고 현재 커서가 가리키는 레코드만 삭제 된다는 점을 유의!!

rs.delete

'공부 > ASP' 카테고리의 다른 글

Request, Response 객체  (0) 2011.06.10
Command 객체  (0) 2011.06.10
Connection 객체  (0) 2011.06.07
ADO 컴포넌트와 ODBC/OLE DB  (0) 2011.06.03
SQL 기초  (0) 2011.06.01
반응형
1. Connection 객체의 속성과 메서드

Connection 객체의 속성
CommandTimeout - 명령실행 후 에러 리턴까지 기다리는 초
ConnectionString - 데이터 소스 연결을 위한 정보를 담는 문자열
ConnectionTimeout - 연결시도 후 에러 리턴까지 기다리는 초

Connection 객체의 메서드
Open     - 데이터 소스에 연결함
Close    - 연결된 Connection 객체를 닫음
Execute - 쿼리나 명령 등을 실행
BeginTians - 새로운 트랜잭션을 시작함
CommitTians - 수정내용을 저장함
RollbackTrans - 수정내용을 취소

2. 데이터 베이스와의 연결

(1) ODBC를 이용한 연결
Connection 객체의 생성
Set cn = Server.CreateObject("ADODB.Connection")

Access의 경우 (DNS은 'member', SQL Server의 DSN은 'membersql')

cn.open "DSNname"

또는

cn.open "DSN=member"

SQL SERVER의 경우는 (계정 id는 testq 암호는 1234 를 가정)

cn.open "membersql", "testq", "1234"

또는

cn.open "DSN=member;UID=testq;PWD=1234"


2. OLE DB를 이용한 연결
OLE DB는 ODBC에 비해 속도가 빠르고 ODBC에 비해 많은 종류의 데이터 액세스를 지원하므로 대부분의 데이터베이스 접속에 널리 사용된다.

(1)Access의 경우
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=somefolder\xxxx.mdb;"


(2)SQL Server의 경우 OLE DB를 이용한 연결
SQL Server의 경우(SQL Server 이름은 coolnet, 사용할 데이터베이스 이름은 'memberdb', 계정 id는 'testq', 암호는 '1234'를 가정)

cn.Open "Provider=sqloledb;" & _
             "Data Source=coolnet;" & _
             "Initial Catalog=memberdb;" & _
             "User Id=testq;" & _
             "Password=1234"

또는

cn.Open "Provider=sqloledb;" & _
             "Server=coolnet;" & _
             "Database=memberdb;" & _
             "User Id=testq;" & _
             "Password=1234"


서버가 원격에 있다면 서버이름으로는 전체이름이나 IP 주소를 써 주면 된다.
(서버의 주소가 coolnet.dongyang.ac.kr)

cn.Open "Provider=sqloledb;" & _
             "Data Source=coolnet.dongyang.ac.kr;" & _

처럼 서버의 풀네임을 써주든지

cn.Open "Provider=sqloledb;" & _
             "Data Source=203.204.205.7;" & _

처럼 서버이름에 IP 주소를 쓰면 된다.


3. Connection 객체를 이용한 실행 쿼리의 실행

(1)Insert 쿼리의 실행
예문>
'객체 생성 및 DB와의 연결
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Server.MapPath(".") & "\Db\memberdb.mdb;"

SQL = "insert into 테이블명"
SQL = SQL & " (필드명1, 필드명2, ....)"
SQL = SQL & " values ('필드값1', '필드값2', ......)"

'쿼리실행
cn.execute SQL


(2)update 쿼리의 실행
예문>
SQL = "update 테이블명 set 필드명1 = 필드값1, 필드명2 = 필드값2 where 조건필드명 = '조건값'"

cn.execute SQL


(3)delete 쿼리의 실행
예문>
SQL = "delete from 테이블명 where 조건필드명 = '조건값'"

cn.execute SQL


(4) 쿼리에 의해 영향 받은 레코드 수 알아내기
예문>
SQL = "delete from member where age >= 200"
cn.execute SQL, RecordsAffected
response.write RecordAffected & "개의 레코드가 삭제되었습니다."

RecordsAffected라는 변수에 삭제된 레코드의 갯수가 들어 있게 된다. RecordsAffected라는 이름은 설명을 위해서 일부러 길게 변수 이름을 쓴 것이니 임의로 쓰면 된다.


4. Connection 객체의 Errors 컬렉션
Errors 컬렉션이 가지고 있는 속성
Count : Errors 컬렉션 내에 있는 error 객체의 숫자를 나타낸다.
Item : 숫자나 이름으로 특정한 error 객체를 리턴한다.
예문> cn.errors.item(0)

Error 컬렉션이 가지고 있는 메서드
Clear : Errors 컬렉션에 있는 모든 error 객체를 지운다.
Refresh : 컬렉션 내의 객체들을 update 한다.

Error 객체가 가지고 있는 속성
Description : 오류에 대한 설명 문자열
Number : 오류상수에 해당하는 Long 타입의 정수
Source : 오류를 발생시킨 객체







'공부 > ASP' 카테고리의 다른 글

Command 객체  (0) 2011.06.10
Recordset 객체  (0) 2011.06.08
ADO 컴포넌트와 ODBC/OLE DB  (0) 2011.06.03
SQL 기초  (0) 2011.06.01
실습 - HTML 웹 문서에서 VBScript를 사용하여 웹 페이지를 작성해 본다.  (0) 2011.05.31
반응형
1. ADO 개요
ADO는 ActiveX Data Object의 줄임말로 Microsoft사에서 개발한 데이터베이스 연동용 인터페이스라고 할 수 있겠다. 이 ADO 컴포넌트를 사용하여 데이터베이스에 접근하여 여러 작업을 하게 된다.

ADO 컴포넌트를 이용하여 할 수 있는 기본 과정
1) 데이터 베이스 연결 : 데이터베이스를 사용하려면 먼저 사용하고자 하는 데이터베이스에 연결을 해야 한다. ODBC설정을 통하여 데이터원본이름을 가지고 데이터베이스에 연결하거나 OLE DB를 이용하여 데이터베이스에 연결하게 된다.
2) 명령 실행 : 데이터 베이스에 연결이 되면 명령을 보내어 실행하게 된다.
3) 실행 결과 : 보내어진 명령의 결과를 가지고 여러 가지 처리를 할 수 있다.

2. ODBC 소개
ODBC(Open DataBase Connectivity)를 간단히 설명하면 ODBC 응용프로그램과 데이터베이스 프로그램 사이에 위치하면서 응용프로그램의 명령을 데이터베이스 프로그램으로 전달하게 되는데 이 때 데이터 베이스 프로그램의 종류에 따라 다르게 코딩할 필요가 없게끔 만들어진 표준화된 인터페이스라고 할 수 있다.


3. OLE DB 소개
OLE DB는 Microsoft UDA(Universal Data Access) 전략의 이론적인 개념을 구체화한 프로그래밍 인터페이스 모델이다. UDA(범용 데이터 엑세스)는 관계형, 비관계형, 계층형 등과 같은 모든 유형의 데이터를 엑세스할 수 있는 기능을 제공한다.


4. ADO 컴포넌트의 객체들
ADO 컴포넌트에는 3가지의 주요 객체가 있다. 바로 Connection 객체, Recordset 객체, Command 객체.

1) Connection 객체
처음 데이터베이스에 연결을 할 때 사용되는 객체이다. 주로 ODBC나 OLE DB를 통하여 하게 된다.

먼저 Connection 객체를 생성

Set cn = Server.CreateObject("ADODB.Connection")

여기서 볼 수 있듯이 객체 변수에 어떤 객체 인스턴스를 할당할 때는 객체변수명 앞에 'Set' 이라는 접두어를 추가해야 한다.

위의 예처럼 하면 'cn'이라는 객체변수에 Connection 개겣가 하나 생성되어 할당이 된다. 이제는 이 'cn'을 이용하여 데이터베이스에 연결하면 된다.

이 때 ODBC를 이용하여 데이터베이스에 연결할 수도 있고 OLE DB를 이용하여 데이터베이스에 연결할 수도 있다. ODBC를 이용한다면 앞에서 ODBC 설정에서 지정했떤 DSN을 기억하여 다음처럼 Connection의 open 메서드를 이용하여 데이터베이스에 연결을 하게 된다.
Access의 경우 계정이 따로 없으므로 다음처럼 DSN만 써주면 된다. Access 파일의 DSN은 'member' 이었다.

Access인 경우 :
cn.open "member"

SQL Server인 경우 :
cn.open "DSN", "계정ID", "암호"

이렇게 되면 데이터베이스와 연결이 완료된 것이다.

데이터베이스 연결연결하여 여러 가지 작업을 한 후에는 데이터 베이스 연결을 종료해야 한다.

cn.close

이것으로 데이터 베이스 연결은 끊어졌다. 다시 데이터베이스 작업을 하려면 다시 데이터베이스 연결부터 시도해야 될 것이다.

2) Recordset 객체
Recordset 객체는 데이터 베이스에 연결이 된 다음 데이터베이스로 명령을 보내게 되는데, 특별히 select query(쿼리)를 보내어 그 쿼리의 결과를 받을 때 사용하는 객체이다.

Set rs = Server.Createobject("ABODB.Recordset")

이렇게 Recordset 객체가 생성되었으면 이제 쿼리나 명령을 실행할 수 있다.

rs.open "select * from member", cn

이 때 open 이렇게 만들어진 레코드셋은 Recordset 객체의 여러 가지 메서드와 속성을 이용하여 읽어보거나 수정할 수가 있다

한 번 open이 된 Recordset 객체는 사용이 끝나면 닫아주는 습관을 가지는 것이 좋은데, 닫을 때는  다음처럼 Connection 객체와 마찬가지로 close 메서드를 사용하면 된다.

rs.close

3)Command 객체
Command 객체는 위의 두 객체에 비해 용도가 많지는 않으나 나름의 특징을 가지고 있다. 사실 Command 객체만으로도 데이터베이스의 연결과 명령 또는 쿼리의 실행이 가능하지만 Command 객체가 사용되는 주요 사용처는 stored procesure(저장 프로시저)의 싱핼이나 매개변수가 포함된 쿼리의 실행 등의 경우에 유용하다.

Set cm = Server.CreateObject("ProgID 입력")

cm.AtiveConection = cn
cm.CommandText = "delete from member where id = hong' "
cm.execute

이렇게 명령이 수행되고 나면 데이터베이스에서 id가 hong인 레코드를 모두 삭제 했을 것이다.


데이터 베이스에 명령을 수행하는 방법은 한 가지만 있는 것이 아니라 Connection 객체, Recordset 객체, Command 객체 어느 것을 사용해도 가능하다.

'공부 > ASP' 카테고리의 다른 글

Recordset 객체  (0) 2011.06.08
Connection 객체  (0) 2011.06.07
SQL 기초  (0) 2011.06.01
실습 - HTML 웹 문서에서 VBScript를 사용하여 웹 페이지를 작성해 본다.  (0) 2011.05.31
Server 객체  (0) 2011.05.31
반응형
1. select

형식>
select 필드명1, 필드명2, .... from 테이블명
[where 조건식]

설명>
- select 뒤에는 가져올 필드이름을 나열한다.
- from 뒤에는 테이블이름을 쓴다. 두 개 이상의 테이블이라면 쉼표(,)로 구분하여 나열한다.
- where 뒤에는 어떤 조건에 합당한 레코드를 뽑아 올 것인지 검색식을 입력하게 된다. 이 때 필드 형식이 문자열이면 SQL에서는 반드시 외따옴표('')로 값을 둘러싸야 한다.

2. 여러 가지 조건식을 사용한 select 문
and - 그리고
or    - 또는
=     - 같다
<>   - 같지 않다.
크다, 작다, 작지 않다, 크지 않다,  - >, <, >=, <=
포함한다[하지 않는다] - [not] in (값1, 값2,...)
부분 문자열 일치한다[하지 않는다] - [not] like %문자열%
두 값의 사이이다[아니다] - [not] between 값1 and 값2
null 값이다[아니다] - is [not] null

3. 레코드의 정렬
쿼리문 마지막에 "order by" 추가함으로써 이루어진다.
예> 모든
select * from member order by name asc

이때 오름차순으로 정렬하고자 하면 "asc"라고 하고, 내림차순으로 정렬하고자 하면 "desc"라고 하면 된다.

4. 중복된 행 제거
select 쿼리의 결과 중복된 행이 있을 수 있다. 이의 제거를 원한다면 from 다음의 필드명을 나열할 때 중복이 되는 필드명 앞에 "distinct"를 붙여 주면 된다.

select distinct age from member where birthm = 10

5. 계산 함수
avg - 평균값
count - 개수
max - 최고값
min - 최저값
sum - 합계

예제1>회원의 나이 평균을 구해보라.
         select avg(age) from member

예제2>회원의 각 성별 나이 평균을 구해보라.
         select sex, avg(age) from member group by sex

예제3>여성회원은 모두 몇명인가?
         select count(*) from member where sex = '여'

6. 서브 쿼리(부질의)
서브 쿼리란 질의 내에 또 질의가 있는 질의를 말한다. 예를 들어 회원 중 id가 'pear'인 회원보다 나이가 적은 회원의 레코드를 검색해 보려고 한다. 이 경우 물론 'pear' 회원의 나이가 22살인 것을 확인하여 다음처럼 하면 될 것이다.

select * from member where age < 22

그러나 나이 필드를 직접 확인하지 않고 'pear' 회원의 나이를 검색하여 처리해야 한다면 어떻게 해야 할까? 이럴 경우에 서브 쿼리를 사용하면 된다. 'pear' 회원의 나이를 검색하려면 간단히 다음처럼 하면 될 것이다.

select age from member where id = 'pear'

가만히 생각해보면 이 쿼리를 나이 22살 대신 쓰면 될 것 같다. 즉, 완성된 쿼리는 다음과 같다.

select * from member where age < ( select age from member where id = 'pear' )


7. insert
형식>
inset into 테이블명(필드명1, 필드명2, ...)
values (필드명1 의 값, 필드명2 의 값, ...)

8. update
update 테이블명 set
필드명1 = 필드명 1의 값,
필드명2 = 필드명 2의 값,
...
[where 조건식]

8. Delete
delete from 테이블명
[where 조건식]

'공부 > ASP' 카테고리의 다른 글

Connection 객체  (0) 2011.06.07
ADO 컴포넌트와 ODBC/OLE DB  (0) 2011.06.03
실습 - HTML 웹 문서에서 VBScript를 사용하여 웹 페이지를 작성해 본다.  (0) 2011.05.31
Server 객체  (0) 2011.05.31
Session 객체  (0) 2011.05.31
반응형
<html>
<head>
<title>Exercise 1</title>
<SCRIPT LANGUAGE="VBScript">

Sub btnClick()
       Alert("HELLO! VBSRIPT!")
End Sub

</SCRIPT>
</HEAD>

<body>

다음 버튼을 클릭하세요 <br>
<INPUT TYPE="button" VALUE="CLICK" OnClick="btnClick">

</body>
</html>

'공부 > ASP' 카테고리의 다른 글

ADO 컴포넌트와 ODBC/OLE DB  (0) 2011.06.03
SQL 기초  (0) 2011.06.01
Server 객체  (0) 2011.05.31
Session 객체  (0) 2011.05.31
Application 객체  (0) 2011.05.31
반응형
Request 객체, response 객체, application 객체와 session 객체는 ASP에서 미리 제공하는 객체이므로 특별한 객체의 생성과정 없이 바로 사용하였다. 그러나 이외의 대부분의 객체들은 별도로 객체의 생성과정을 거쳐야만 사용할 수 있다. 다른 객체를 생성해주기 위해서는 Server 객체를 이용해야 한다. Server 객체가 객체를 생성하기 위해서는 createObject 메서드를 이용하여 객체를 생성할 수 있다.

ASP의 확장성
ASP의 확장서은 바로 이러한 객체의 자유로운 생성에 있다고 하겠다. ASP에서는 서버의 컴포넌트를 이용하여 필요한 기능을 확장할 수 있다. ASP 컴포넌트는 DLL형태로 제공되며 일반적으로 특정 기능을 가진 객체를 포함하고 있다. ASP가 기본적으로 제공하는 컴포넌트도 있지만, 개발자가 자체적으로 개발하여 사용할 수 있고, 외부의 여러 업체에서 개발한 컴포넌트도 많이 있다.

새로운 객체의 생성은 CreateObject 메서드의 인자로 progID라는 생성할 객체의 타입을 받아서 해당 객체를 생성한다. 일반적으로 progID의 형식은 '[업체.]컴포넌트[.버전]' 의 형식을 갖는다.

예문>
<html>
<body>

         <hr>
         <h4> Server 객체 - createObject 메서드 </h4><p>
         <%
              set objBrowser = server.createObject("MSWC.BrowerType")
              if isObject( objBrowser ) then
                 response.write "현재 브라우저는 " & objBrower.brower & " "
                 response.write objBroser.version & " 이다 "
         %>

</body>
</html>

7번째 줄 : server 객체의 createobject 메서드를 이용하여 객체를 생성하는 부분이다.

8~11번째 줄 : 객체의 생성이 잘 되었는지 확인하는 함수가 isObject()이다. if 문에서 객체를 가리키는 변수 objBrower를 isObject() 함수를 통하여 객체가 정상적으로 생성되었는지를 확인한다.

'공부 > ASP' 카테고리의 다른 글

SQL 기초  (0) 2011.06.01
실습 - HTML 웹 문서에서 VBScript를 사용하여 웹 페이지를 작성해 본다.  (0) 2011.05.31
Session 객체  (0) 2011.05.31
Application 객체  (0) 2011.05.31
ASP 기본구조  (0) 2011.05.30
반응형
Session 객체는 사용자 연결이 만들어질 때마다 생성되는 객체이다. 따라서 사용자 연결이 종료되면 소멸되는 특징을 갖는다.

컬렉션
- Contents
속성
- CodePage
- LCID
- SessionID
- TimeOut
메서드
- Abandon
- Remove
- RemoveAll
이벤트
- OnStart
- OnEnd

Session 이벤트
사용자가 어플리케이션에 처음으로 페이지를 요청한 경우 OnStart 이벤트가 발생하고, 사용자가 세션을 종료할 때 OnEnd 이벤트가 발생한다. 이 두 이벤트 핸들러는 globla.asa에 정의되어 있는 Session_OnStart, Session_OnEnd 서브루틴이다.

Session 변수
Session 객체의 Contents 컬렉션에 저장되며 사용자 연결이 유지되는 동안 해당 사용자가 접근하는 페이지 내에서만 유효한 값이 된다.
Session 변수는 application 변수와 비슷하게 사용된다. 다만 사용 범위가 사용자별로 한정되어 있다는 차이가 있다. session 변수는 session 객체의 contents 컬렉션에 변수이름과 값이 쌍의 형태로 저장되어 있다.
Session 변수를 삭제하기 위해서 제공되는 메서드로 Remove, RemoveAll이 있다. 특정 Session 변수를 삭제를 위해서 Session.contents.remove 메서드를 이용하고, 모든 session 변수 삭제를 위해서 session.contents.removeall 메서드를 이용하면 된다.

Session 객체 속성
session 객체의 sessionID속성은 현재 사용자를 가리키는 ID이며, 접속한 사용자는 모두 다른 ID를 갖는다. Timeout 속성은 세션의 종료 시간을 설정한 것으로 마지막 페이지 접근 후 세션 종료까지 기다리는 시간을 가리킨다. 디폴트 값은 20분이며 재 설정이 가능하다.


'공부 > ASP' 카테고리의 다른 글

실습 - HTML 웹 문서에서 VBScript를 사용하여 웹 페이지를 작성해 본다.  (0) 2011.05.31
Server 객체  (0) 2011.05.31
Application 객체  (0) 2011.05.31
ASP 기본구조  (0) 2011.05.30
global.asa 파일  (0) 2011.05.26
반응형

Application  객체는 웹 어플리케이션 차원에서 웹 페이지 간에 공유하고자 하는 값을 저장하거나, 이벤트를 적절히 처리하기 위한 객체이다.

컬렉션
- Contens
메서드
- Lock
- Unlock
- Remove
- RemoveAll
이벤트
- OnStart
- OnEnd

Application 이벤트
OnStart 이벤트는 어플리케이션이 시작할 때, 즉 어플리케이션의 첫 페이지를 클라이언트가 요청할 때 발생한다.
OnEnd 이벤트는 어플리케이션이 종료할 때 즉 웹 서비스가 동작을 멈출 때에 발생한다.
이 이벤트들이 발생하면 global.asa 파일에 있는 Application_OnStart, Application_OnEnd 서브루틴이 동작하도록 되어 있다.

Application 메서드
Lock과 Unlock은 Application 변수를 사용 할 때 필요한 메서드이다. Application 변수는 동시에 여러 사용자가 사용할 수 있으므로 만약에 한꺼번에 같은 Application 변수의 값을 변경하려고 하면 원치 않는 값이 될 수 있기 때문이다.

예문>
<%
    Application.Lock
          Application("userCount") = Application("userCount") + 1
    Application.Unlock
%>

Application 변수
어플리케이션 내에서 공유할 값을 저장하기 위해 사용한다. 데이터베이스를 연결할 때 필요한 연결 문자열을 여러 페이지에서 공통으로 사용할 경우에 Application 변수에 저장하여 사용할 수 있다.

Application 컬렉션
Contents 컬렉션은 어플리케이션 내의 모든 변수를 키와 값의 쌍 형태로 저장하고 있다. 앞에서 보았던 application 변수인 application("userCount")는 application.contents("userCount")와 동일한 의미를 가짐을 알 수 있다.

'공부 > ASP' 카테고리의 다른 글

Server 객체  (0) 2011.05.31
Session 객체  (0) 2011.05.31
ASP 기본구조  (0) 2011.05.30
global.asa 파일  (0) 2011.05.26
쿠키  (0) 2011.05.26
반응형
정적 웹 사이트 - 웹서버에서 항상 같은 문저를 전송하는 것
장점 - 미리 저장되어 있는 문서를 단순하게 전송받게 되므로 처리속도가 빠르다.

동적 웹 사이트 - 사용자가 어떤 웹 사이트에 방문하였을 때에 그 사용자에 따라 웹 서버는 서로 다른 결과를 보여주는 것

예문)hello.asp

<html>
<head>
<title>hello</title>
</head>

<body>

<%
Response.Write "Hello Asp"
%>

</body>
</html>

<%= 출력할 변수나 문자열 %>
<% Response.Write 출력할 변수나 문자열 %>


식별자 - 변수나 함수의 이름이 될 수 있는, 프로그래머가 선언하는 단어를 의미
1. 문자와 숫자, _로 이루어져 있다.
2. 특수 문자나 메타 문자를 사용할 수 없다.
3. 길이는 255자 이내로 제한된다.
4. 첫 문자는 숫자를 사용할 수 없다.
5. 대소문자의 구별이 없다.


변수

Dim 변수
Dim strName

프로그래밍을 할 때 가독성을 늘리려고 strName처럼 선언하는 것이 바람직한 방법일 것이다.

선언된 변수에 특정한 값을 넣기
예문)
strName = "홍길동"
intYear = 2006

ASP는 변수를 선언하지 않고도 사용할 수 있으며 데이터 형을 지정하지 않아도 사용할 수 있다. 만약 프로그래머가 선언한 변수만 사용하고자 한다면 코드의 앞부분에 <%Option Explicit%>를 입력하면 된다. 만약 Option Explicit를 입력 했을 때에는 Dim으로 선언하지 않은 변수는 에러를 발생하게 될 것이다.

상수

변수는 프로그램 코드에 따라 변하는 값을 저장한다. 하지만 때로는 고정된 값을 저장해야 할 필요가 있을 때가 있다. 그럴때 고정된 값을 저장하기 위해 사용하는 것이 상수 이다.
상수는 Const 키워드를 사용하여 선언한다.

형식> Const 변수 = 값
예   > Const MaxNumber = 23064434


자료형
자료형이란 변수나 상수에서 가질 수 있는 값의 형식을 말한다.
ASP에서는 모든 데이터 형식이 Variant라는 형식으로 지정해 놓았기 때문에 실제로 데이터 형식을 지정하여 사용하지는 않는다. Variant 형식이란 저장되는 값에 따라 자동으로 자료형을 변환시키는 것을 말한다.

숫자형 자료형
Variant 자료형이 지원하는 형식
Integer, Long, Byte, Single, Double, Currency


문자형 자료형
ASP에서 Variant형을 사용하므로 문자열을 저장하려면 큰 따옴표로 둘러싸인 문자열을 선언한다.

형식 > 변수 = "문자열"
예    > strName = "홍길동"

날짜형 자료형
날짜 정보를 저장하는 형식으로 날짜와 시간을 저장할 수 있다. 일반적으로 날짜형 변수는 #를 사용하여 데이터를 저장한다. 만약 #를 사용하지 않고 선언을 한다면 문자 자료형이나 숫자 자료형이 될 것이다.

예> strTime = #05/05/2006#
      Response.Write "회원님이 가입하신 날짜는 " & strTime & " 입니다. "


불린(Boolean)형
변수 값이 True나 False의 값을 저장하는 자료형이다. 자동으로 -1과 0으로 변환된다.

기타
Empty : 값을 할당받지 못하기 때문에 전혀 값을 가지고 있지 않은 자료형
NULL : 데이터를 가지고 있지 않은 필드를 가리킬 때 사용하는 자료형
Object : 객체를 나타내는 자료형


연산자
연산자란 수학적, 논리적 연산을 수행하는 기호를 나타낸다.

산술 연산자
+ 더하기, - 빼기, * 곱하기, / 나누기 , ^ 지수, - 음수, mod 나머지

비교 연산자
= 같다, < 보다 작다, <= 보다 작거나 같다, > 보다 크다, >= 보다 크거나 같다, <> 같지 않다

논리 연산자
AND 논리곱(두 조건이 모두 참이여야 참이 됨)
OR   논리합(두 조건 중 하나만 참이면 참이됨)
NOT    부정(조건 값을 반대로 만듦)
XOR          (두 조건의 값이 서로 달라야 참이 됨)

연결 연산자
문자열을 합칠 때 필요한 연산자로 &를 사용한다.


배열

고정 크기 배열
배열은 변수와 마찬가지로 Dim 키워드를 사용하여 선언한다. 배열을 선언할 때 ( ) 안에 배열 크기를 지정하여 선언하는 것을 고정 크기 배열이라고 한다.

형식> 변수 (숫자)
예   > Dim strMember(2)


동적 배열
동적 배열은 배열을 선언할 때 ( ) 안에 배열 크기를 지정하지 않고 선언하는 것으로 배열에 저장할 데이터 수가 불분명할 때 사용한다. 만약에 배열 크기가 정해지게 된다면 ReDim 키워드를 사용하여 배열 크기를 재지정해야 한다.

형식> 변수()
예   > Dim strMember()

다차원 배열
여러 개의 인수를 사용하여 선언하는 배열을 말한다. 인수를 하나만 사용하면 일차원 배열이고 그 괴에 2개 이상의 인수를 정하면 다차원 배열이 된다. 다차원 배열은 60차원까지의 배열 선언이 가능하다.

형식> 2차원 배열일 때 : 변수(숫자,숫자)
예   > Dim strMember(2,2)


주석
주석문은 프로그래밍한 코드를 실행하는데 아무런 영향을 주지 않으며 소스 코드 설명 등을 첨가할 때 사용한다. 서버에서 해당 웹 페이지를 처리할 때 주석문은 제거하고 처리하기 때문에 말 그대로 단지 소스 코드를 쉽게 이해하고 유지 보수 등을 위해 사용한다.

HTML 주석은 '<!-- 설명 -->'를 사용하고 ASP는 작은 따옴표(')를 사용하여 주석문을 만들 수 있다.


제어문

IF문
IF 문에서 정한 조건식에 참, 거짓에 따라 해당 문장을 실행하는 제어문이다. IF 문과 Else 문을 이용하여 조건문을 정의하고 IF 제어문의 끝은 End if로 끝을 맺는다.

형식> IF 조건식 then
             문장 1
         Else
             문장 2
         End if
예   > if intScore = 1 then
             response.write "회원 입니다."
         else
             response.write "회원이 아닙니다."
         end if

조건식이 2개 이상일 경우에는 ELSEIF 문을 사용하여 나타낸다.
형식> IF 조건식1 then
             문장 1
         Elseif 조건식2 then
             문장 2
         Else
             문장 3
         End if00

예 > if intScore > 10 then
             response.write "회원님의 등급은 골드 입니다."
       elseif intScore > 5 then
             response.write "회원님의 등급은 실버 입니다."
       else
             response.write "회원님의 등급은 일반 입니다."
       end if

Select Case 문
if문은 각 조건식의 참, 거짓을 판단하여 해당 문장을 실행한다면 Select case 문은 하나의 조건식만을 판단한다. 그리고 그 결과 값을 Case문의 값과 비교해 해당 문장을 실행 하는 구조를 가지고 있다.

형식> Select Case 조건식
                   Case 값 1
                           문장 1
                   Case 값 2
                           문장 2
                   Case 값 3
                           문장 3
        End Select

예  > Select Case strScore
                   Case "Gold"
                    response.write "회원님의 등급은 골드 입니다."
                   Case "Silver"
                    response.write "회원님의 등급은 실버 입니다."
                   Case else
                    response.write "회원님의 등급은 일반 입니다."
       End Select


반복문

For문
선언한 변수에 초기 값을 저장하여 최종 값까지 증가 값만큼 수를 증가시키며 루프 문을 돌면서 해당 문장을 실행시킨다. 증가 값만큼 값을 증가시키다가 최종 값과 같아지면 해당 루프문을 빠져나오게 된다. 만약 증가 값을 선언하지 않으면 초기 값에서 최종 값까지 변수의 값이 자동으로 1씩 증가하게 된다.

형식> For 초기값 To 최종값 Step 증가값
               문장
         Next
예   > For i = 1 To 10 Step 1
               response.Write "회원님의 방문횟수는 " & i & " 입니다.<BR>"
         Next

For Each문
For Each문은 앞에서 배운 For 문과 비슷하지만 배열 등의 항목에서 주로 사용되는 반복문이다. 배열을 For문을 사용하여 출력하게 되는 때에는 미리 해당 배열의 길이를 알아야 하지만, For Each문을 사용하게 되면 배열의 길이를 모르더라도 배열의 갯수만큼 루프를 돌면서 해당 문장을 실행시킬 수 있다.

형식> For Each 요소 In 배열
               문장
         Next
예   > For Each strItem In strBuy
               Response.Write <h2>strItem</h2> & "<br>"
         Next

Do Loop문
조건식의 값이 거짓이 나올때 까지 루프 문을 돌며 문장을 반복 실행한다. For문은 정확한 초기 값과 최종 값을 설정해야 하는 반면 Do Loop문은 조건식을 만족하게 할 때까지 반복 실행한다.

형식> Do While 조건식
              문장
         Loop
예   > Do While intcount <10
              response.write "회원님은" & intCount &
              " 번째 방문입니다.<br>"
              IntCount = IntCount + 1
         Loop

프로시저
프로시저란 같은 코드를 여러 곳에 사용할 때에 편리한 코딩을 위하여 하나의 그룹으로 설정한 것을 말한다. 즉 미리 그룹으로 설정해 놓고 필요할 때마다 호출하는 것이다. 이러한 작업을 통해 프로그래밍함으로써 사용하기 쉽고 유지보수 관리를 편리하게 할 수 있다. 프로시저는 서브 프로시저와 함수로 구분할 수 있다.

서브 프로시저
서브 프로시저는 프로시저 안의 코드에서 실행한 결과 값을 반환하지 않고 호출할 때에 해당 서브 프로시저를 실행하게 된다.

형식> Sub 프로시저명(인수)
                실행문장
         End Sub
예   > Sub Cal(intNum1, intNum2)
                Response.Write "Num1 = " & intNum1 & " num2 = " & IntNum2 & "<br><br>"
         End Sub

함수
서브 프로지서와 전체적인 구조나 활용 면에서는 비슷하나 다른 점이 있다면 서브 프로시저와는 달리 실행 결과 값을 반환한다.

형식> Function 함수명(인수)
                실행문장
         End Function
예   > Function Cal (intNum1, intNum2)
                 Cal = intNum1 + intNum2
                 Response.Write "Num1 = " & intNum1 & ", Num2 = " & intNum2 & "<br>"
         End Function










'공부 > ASP' 카테고리의 다른 글

Session 객체  (0) 2011.05.31
Application 객체  (0) 2011.05.31
global.asa 파일  (0) 2011.05.26
쿠키  (0) 2011.05.26
Response 객체  (0) 2011.05.25
반응형
ASP 웹 어플리케이션은 여러 웹 페이지와 global.asa 라는 파일로 구성되어 있다.

global.asa의 구성형식

<Script language = VBScript runAt = server >
Sub Application_ Onstart
'어플리케이션이 처음 시작할 때 실행할 스크립트 코드
end Sub

Sub Application_OnEnd
'어플리케이션이 종료될 때 실행할 스크립트 코드
end Sub

Sub Session_OnStart
'사용자 세션이 처음 시작할 때 실행할 스크립트 코드
end Sub

Sub Session_OnEnd
'사용자 세션이 종료될 때 실행할 스크립트 코드
EndSub
<Script>


Application 이벤트
어플리케이션이 처음 시작할 때 발생하는 이벤트가 OnStart 이벤트이고, 어플리케이션이 종료될 때 발생하는 이벤트가 OnEnd 이벤트이다.

Session 이벤트
Session객체의 OnStart 이벤트는 사용자 연결이 발생할 때마다 발생하는 이벤트이다. 그리고 사용자의 연결이 끊어지는 순간 OnEnd 이벤트가 발생하며, 마찬가지로 Session_OnEnd 서브루틴이 동작한다.


- 데이터 공유 : Application 변수와 Session 변수 이용
ASP에서는 데이터를 공유하는 방법으로 Application 변수와 Session 변수를 사용한다. Application 변수는 Application 객체에서 정의하고, Session 변수는 Sesstion객체에서 정의 한다. Application 변수는 어플리케이션 전체에서 공유할 수 있는 값이면, Session 변수는 사용자 연결 시 생성되는 Session 객체에서 정의 되므로 사용자 연결이 유지되는 세션 내에서 공유할 수 있는 값이다.



'공부 > ASP' 카테고리의 다른 글

Application 객체  (0) 2011.05.31
ASP 기본구조  (0) 2011.05.30
쿠키  (0) 2011.05.26
Response 객체  (0) 2011.05.25
ASP 객체모델 - Form 태그를 이용한 전송 정보 가져오기  (0) 2011.05.25
반응형
쿠키는 클라이언트에 값을 남겨두고 페이지 접속 시마다 자동으로 서버에 전송되어 이전 페이지와 다음 페이지간의 관련 정보 전송을 해주는 역할을 한다.

쿠키를 저장하는 경우 response 객체의 cookies 컬렉션을 이용하여 클라리언트 PC에 저장하며, 읽어오는 경우는 request 객체의 cookies 컬렉션을 이용한다.

' 쿠키 저장 경우
response.cookies("name") = "tom"
' 쿠키 값 읽을 경우
personName = request.cookies("name")

쿠키는 클라이언트에 파일 형태로 저장되며 일반적인 경우 브라우저의 종료와 함께 소멸 한다. 그러나 쿠키를 유효기간을 지정하여 사용할 수도 있다. 이런 경우에는 브라우저를 종료해도 쿠키는 남아 있을 수 있다.

'공부 > ASP' 카테고리의 다른 글

ASP 기본구조  (0) 2011.05.30
global.asa 파일  (0) 2011.05.26
Response 객체  (0) 2011.05.25
ASP 객체모델 - Form 태그를 이용한 전송 정보 가져오기  (0) 2011.05.25
ASP 객체 모델  (0) 2011.05.24
반응형
클라이언트가 서버에게 전송하는 정보를 전달하는 객체가 Request 객체라면, response 객체는 그와 반대로 서버가 클라이언트에게 전송하는 정보를 담고 있는 객체이다.

컬렉션
- Cookies
속성
- TotalBytes
- Butter
- Cache Control
- Charset
- ContentType
- Expires
- ExpiresAbsolute
- PICS
- Status
메서드
- BiraryWrite
- AddHeader
- AppendToLog
- Clear
- End
- Flush
- Redirect
- Write

컬렉션
Response 객체가 가지고 있는 컬렉션은 cookies 컬렉션이 유일하다. 쿠기 값은 웹 브라우저가 있는 PC에 저장되어 있는 값으로서 한 번 설정된 쿠키 값은 클라이언트와 서버의 http 헤더를 이용하여 계속 주고 받으며, 변경된 내용은 클라이언트의 쿠키 값에 즉시 반영된다.

ContentType 속성
Response 객체의 ContentType 속성은 전송되는 문서의 MIME 타입을 나타낸다.

Status 속성
Status 는 서버가 돌려주는 요청에 대한 상태 값을 나타낸다. 정상인 경우는 200 또는 300번대의 값을 돌려주며, 잘못된 경로 및 문서의 요청등 클라이언트의 잘못인 경우는 400번 대의 에러 메세지를 돌려준다. 서버의 실행 프로그램 오류로 인하여 문제가 발생하는 경우 500번 대의 상태 값이 돌려진다. 웹 브라우저는 이 값을 기준으로 브라우저 창에 적절한 메세지를 보내주게 된다.


redirect 메서드
redirect 메서드는 현재 보이는 페이지를 인자로 지정한 주소의 문서로 자동으로 이동시킨다.

<%
Response.redirect(http://www.dongyang.ac.kr)
%>

Clear, flush, end 는 페이지 버퍼링과 관련된 메서드 들이다.
Flush -  현재 버퍼링되어 있는 내용을 클라이언트로 보내는 역할을 한다.
Clear - 현재 버퍼링 되어있는 내용을 클라이언트로 보내지 않고 지운다.
End - 현재 버퍼에 있는 내용을 클라이언트로 보내고 결과 페이지 작성을 종료한다.

'공부 > ASP' 카테고리의 다른 글

global.asa 파일  (0) 2011.05.26
쿠키  (0) 2011.05.26
ASP 객체모델 - Form 태그를 이용한 전송 정보 가져오기  (0) 2011.05.25
ASP 객체 모델  (0) 2011.05.24
[HTML]Form  (0) 2011.05.18
반응형
- Post 방식을 이용하는 경우
Post 방식으로 사용자 입력 정보를 제공하려면 Form 태그의 method 속성에 post 값을 주면 된다.

<Form action = "정보를 던저 주고자 하는 곳", method ="Post" >
이름 : <input type = "text" name = "name" >
<input type ="submit" value = "입력하기">
</Form>

 위 형식으로 서버에 전송된 값을 가져오기 위해서 request 객체의 form 컬렉션을 이용하여 값을 가져올 수 있다.

<%
name = request.form("name")
%>

- Get 방식을 이용하는 경우
Get 방식으로 사용자 입력 정보를 제공하려면 Form 태그의 method 속성에 get 값을 주거나 method 속성을 생략하면된다.

<Form action = "정보를 던저 주고자 하는 곳", method ="Get" >
이름 : <input type = "text" name = "name" >
<input type ="submit" value = "입력하기">
</Form>

 위 형식으로 서버에 전송된 값을 가져오기 위해서 request 객체의 queryString 컬렉션을 이용하여 값을 가져올 수 있다.

<%
name = request.questString("name")
%>


http://203.237.160.180/asp3/result43.asp?name=%C8%AB&grade=88

? : 주소와 데이터 구분자
= : 키와 값 구분자
& : 데이터 쌍 구분자 

- URL 인코딩
URL 인코딩은 영문과 숫자인 경우 그대로 전송되나, 한글이나 특수 문자인 경우는 16진수로 변화되어 전송된다. 이때 특수 문자는 1바이트로 표현되지만, 한글의 한문자는 2바이트로 표현된다.

Space -> +
%       -> %25
+        -> %2B
황      -> %C8%AB

QueryString 의 값을 가져오는 경우 '키'를 이용하여 컬렉션으로부터 하나씩 값을 가져와서 사용할 수도 있지만, For each ... next 문을 이용하여 컬렉션 루프를 만들어 queryString 값을 가져올 수도 있다.

- 컬렉션 이름을 생략하고 사용하는 경우
Request 객체 사용 시 컬렉션의 이름을 생략하고 사용하는 경우가 있다. 예를 들어 request.form("name")이라고 해야 정상이지만, request("name")이라고 해도 form 컬렉션에서 name 키에 해당하는 값을 가져온다.

- 컬렉션 우선순위
QueryString > form > cookies > serverVariables

'공부 > ASP' 카테고리의 다른 글

쿠키  (0) 2011.05.26
Response 객체  (0) 2011.05.25
ASP 객체 모델  (0) 2011.05.24
[HTML]Form  (0) 2011.05.18
문자열 함수  (0) 2011.05.17
반응형
1. 객체 구성 : 속성과 메서드
속성은 객체의 특성을 나타내는 값이고, 메서드는 객체가 가지고 있는 실행 함수라고 간단히 설명할 수 있다.
예를 들어 자동차를 하나의 객체로 볼 경우, 자동차의 속성은 차의 색상, 모델, 연식, 최고 속도 등 자동차가 가지는 정적인 특성이며, 메서드는 달린다. 멈춘다. 가속한다 등의 행위와 관련된 동적인 특성을 말한다.

2. ASP 객체 모델
ASP 객체 모델은 5개의 주요 객체로 구성되어 있다.

(1) Request 객체는 사용자의 요청 정보를, Response 객체는 서버의 응답정보 제공
(2) Application 객체는 웹 서비스 전체에 하나 존재하고, Session 객체는 사용자 별로 존재
(3) Server 객체 : 새로운 객체를 생성하여 사용할 경우 필요
(4) 객체의 구성요소 : 컬렉션, 속성, 메서드, 이벤트
     컬렉션은 배열과 유사한 형태의 정보로서 '키'와 '값'의 쌍으로 구성되는 형태
     속성은 객체가 가지는 정적인 특성으로 내부변수
     메서드는 객체가 가지는 실행 함수
     이벤트는 객체에서 발생할 수 있는 사건


3. Request 객체
Request 객체 : 사용자의 요청 정보를 담고 있다.

컬렉션
- ClientCertificate : 웹 서버가 보증서를 요구할 경우 브라우저가보증서 필드를 서버에 전송할 때 사용된다.
- Cookies : 클라리언트가 서버에 연결될 때 보내는 정보인 쿠키(cookie)를 키와 값의 쌍으로 구성하여 클라이언트에 저장하여 사용한다.
- Form : 클라이언트가 Form 태그를 이용하여 사용자 입력 정보를 전달 할 경우 Post 방식으로 그 값을 전달할 경우에 입력 정보를 저장하는 곳이다.
- QueryString : 클라이언트가 Form 태그를 이용하여 Get 방식으로 사용자 입력 정보를 전달할 경우와 URL을 이용하여 직접 정보를 전달하는 경우의 값을 저장하는 컬렉션이다.
- ServerVariables : 미리 정의되어 있는 환경 변수 값을 가지는 컬렉션이다.

속성
- TotalBytes : 클라이언트가 서버로 보내는 정보의 총 바이트 수를 나타낸다.

메서드
- BinaryRead : 클라리언트가 서버로 보낸 정보의 데이터를 읽는 메서드이다.

'공부 > ASP' 카테고리의 다른 글

Response 객체  (0) 2011.05.25
ASP 객체모델 - Form 태그를 이용한 전송 정보 가져오기  (0) 2011.05.25
[HTML]Form  (0) 2011.05.18
문자열 함수  (0) 2011.05.17
프로시저  (0) 2011.05.17
반응형
1.ASP는 서버 스크립트 언어
사용자로부터 웹 문서에 대한 요청을 받고, 요청 받은 문서는 절절한 서버스크립트 코드 해석 처리 후, 그 결과를 HTML 문서 형식으로 웹 브라우저에게 제공한다. 이때 사용자는 웹 문서에 대한 주소뿐만 아니라, 사용자의 입력 정보를 웹 서버에 보낼 수 있다. 이 사용자 입력정보의 전달 처리는 ASP 코드가 아닌 HTML의 Form태그가 그 역할을 담당한다.

2. 간단한 Form 예제
<html>
<body>

<h2>간단한 Form 태그 예</h2><hr>

<Form action = "result.asp" method = "post">
  이름 : <input type = "text" name = "name" ><p>
  성적 : <input type = "text" name = "grade" ><p>
<input type = "submit" value = "입력하기" >
<input type = "reset" value = "취소하기" >
</Form>

</body>
</html>


3. <Form> 태그와 </Form> 태그 단위로 서버에 전달
즉, 하나의 웹 페이지에 여러 개의 Form 태그를 사용하여 선별적으로 전달이 가능하다.


text 입력 필드
기본형식)
이름 : <Input type = "text" name = "name" >

submit 버튼과 reset 버튼
기본형식)
<Input type = "submit" value = "입력하기" >
<Input type = "reset" value = "취소하기" >

4. Form 태그 속성(action, method, enctype)

Action 속성 : 입력 값을 받을 페이지 지정
                   (Action 속성이 생략된 경우의 디폴트 값은 Form 태그가 정의된 문서 자신이된다.)
Method 속성 : 사용자 메세지 전송 방식을 지정 (Get, Post) - 기본값은 Get
Get : 입력 정보를 웹 서버에 요청하는 문서의 주소를 가리키는 URL에 더하여 서버로 전달
            Post : URL과 별도로 서버에 전달

Enctype 속성 : 입력 값 전송을 위한 encode 형식 지정
Enctype 속성은 전송하는 입력값의 encode 형식을 지정한다. 대부분의 경우 디폴드 값인 'application/x-www-form-urlencoded' 가 생략되어 있지만, 파일 업로드를 하게 되면 반드시 'multipart/form-data'로 enctype 속성 값을 지정해 주어야 한다.


5. Input 태그 속성
type 속성 : 텍스트, 라디오 버튼, 체크박스 등의 입력 필드의 특성을 지정
name 속성 : 입력 값의 구분자
value 속성 : 초기 값을 알려줌
size 속성 : 크기를 나타냄(기타 텍스트 입력 필드인 경우)
maxlength 속성 : 최대 글자수를 정해줌(기타 텍스트 입력 필드인 경우)

5. 라디오 버튼, 체크박스 및 Select 태그

Select 태그는 여러 개의 목록을 제공하고 하나 이상의 값을 선택하도록 제공하는 태그이다.

라디오 버튼 - 하나만 선택 하는 경우 사용
<Input type = "Radio" name = "Job" value="student" >학생

체크박스 - 동시에 여러 값을 선택하는 경우 사용
<Input type = "checkbox" name = "Job" value="student" >학생

목록에서 값 선택하기
  <Select name = "list" size = "1">
     <Option value="list1" > 목록1
     <Option value="list2" > 목록2
     <Option value="list3" > 목록3
</Select>


목록에서 다중값 선택하기
<Select name="listbox" size="3" multiple>
  <Option valuse="listbox1"> 목록1
 <Option valuse="listbox2"> 목록2
 <Option valuse="listbox3"> 목록3
</select>


'공부 > ASP' 카테고리의 다른 글

ASP 객체모델 - Form 태그를 이용한 전송 정보 가져오기  (0) 2011.05.25
ASP 객체 모델  (0) 2011.05.24
문자열 함수  (0) 2011.05.17
프로시저  (0) 2011.05.17
제어문 및 반복문  (0) 2011.05.16
반응형
1. left(), right(), mid()

예문)
<html>
<body>
    <h2>문자열 함수 - left(), right(), mid() </h2>
<%
    strASP = "active server pages"
%>

문자열 : <% strASP %> <br><br>
왼쪽 6 문자 : <% =left(strAsp,6)%><br>
오른쪽 5 문자 : <% =right(strAsp,6) %><br>
가운데 6 문자 : <% =mid(strAsp,8,6) %>

</body>
</html>

2. len() : 문자열 길이, trim() : 모든 공백제거, rTrim() : 오른쪽 공백만 제거, lTrim() : 왼쪽 공백만 제거

3. Replace(), InStr() : 문자열 검색함수
Replace() 함수는 주어진 문자열에서 특정 문자열을 검색하고 검색한 문자열을 다른 문자열로 치환한다.
InStr() 함수는 주어진 문자열에서 특정 문자열을 찾아내어 그 위치 값을 돌려준다. 찾지 못하면 '0' 값을 돌려준다.
찾는 방향은 왼쪽에서 오른쪽,
InStrRev() 함수는 오른쪽에서 왼쪽으로 문자열을 찾아낸다.


4. strComp() : 문자열 비교
두개의 문자열을 인자로 받아서 두 문자열이 같으면 '0'값을 돌려준다. 문자열이 다른 경우의 리턴 값은 결과가 '>'이면 1을 '<'이면 -1을 돌려준다. 비교하는 문자열의 하나가 null인 경우 리턴 값은 null이 된다. 또한 대소문자 구분 없이 비교하려면 세 번째 인자에 1의 값을 넣어주면 대소문자 구분 없이 문자열 비교가 이루어 진다.

'공부 > ASP' 카테고리의 다른 글

ASP 객체 모델  (0) 2011.05.24
[HTML]Form  (0) 2011.05.18
프로시저  (0) 2011.05.17
제어문 및 반복문  (0) 2011.05.16
배열  (0) 2011.05.16
반응형

1. 서브루틴과 함수
VBscript에서 프로시저는 여러 스크립트 문장을 모아서 하나의 모듈 형태의 단위로 사용하는것을 말한다.

Sub 서브루틴명(인자1, 인자2, ..., 인자n)

...

End Sub


Function 함수명(인자1, 인자2, ..., 인자n)

...

함수명 = 리턴값

End Function


예문)
<html>
<body>
 <h2>프로시저 - 서브루틴, 함수</h2>

<%
     '서브루틴
     Sub Print(val)
           Response.write val & " "
     End Sub

     '함수
     Function funcSum(val1, val2)
           funcSum = val1 + val2
     End Function

intSum = 0
For intCnt = 1 to 10
     intSum = funcSum(intSum, intCnt)
         if intCnt = 1 then
              print(intCnt)
         else
              Response.write "+ " & intCnt & "  "
         end if
next
Response.write "= " & intSum & "<br>"

%>

</body>
</html>

'공부 > ASP' 카테고리의 다른 글

[HTML]Form  (0) 2011.05.18
문자열 함수  (0) 2011.05.17
제어문 및 반복문  (0) 2011.05.16
배열  (0) 2011.05.16
연산자  (0) 2011.05.13

+ Recent posts