일단은 간단하게 방문자에게 이름과 제목 그리고 글의 내용을 입력하도록 하는 문서를 만든다. 이곳에 기입한 내용이 Access DB안에 저장된다. Method 부분을 Post로 기입하고 action 부분에서 Insert.asp 문서를 지정한것에 관심을 가진다.

<html>
<head><title>글쓰기</title></head>
<body>

    <form method='POST' action='Insert.asp'>
    <table border='1' width='400'>
    <tr>
    <td width='170' align='center' >제목</td>
    <td><input type='text' name='title' size='50'></td>
    </tr><tr>
    <td align='center' >이름</td>
    <td><input type='text' name='name' size='50'></td>
    </tr><tr>
    <td align='cente' >글</td>
    <td>
    <textarea wrap='hard' rows='10' name='comment' cols='50'></textarea>
    </td>
    </tr>
    <tr>
    <td align='right' colspan='2' style='padding-right:25'>
    <input type='submit' value='글 저장'>
    </td></tr>
    </table>
    </form>

</body>
</html>


소스대로 완성하고 이것을 write.asp 문서로 저장한 후에 브라우저로 확인한 모습이다.





Write.asp 문서 action 부분에서 지정한 Insert.asp 문을 다음과 같이 작성한다.

<!--METADATA TYPE= "typelib"  NAME= "ADODB Type Library" FILE="C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll"  -->
<%
Option Explicit

Dim name, title, comment
name = Request.form("name")
title = Request.form("title")
comment = Request.form("comment")

Dim strConnect,Dim objRS
strConnect="Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=C:\DataStore\board.mdb"
Set objRS = Server.CreateObject("ADODB.RecordSet")
objRS.Open "Myboard", strConnect, adOpenStatic, adLockPessimistic,adCmdTable

with objRS
    .AddNew
    .Fields("b_name") = name
    .Fields("b_title") = title
    .Fields("b_comment") = comment
    .Update
    .Close
end with
Set objRS = nothing
Response.Write "insert ok"
%>



<!--METADATA TYPE= "typelib"  NAME= "ADODB Type Library" FILE="C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll"  -->


-- ADO 상수가 정의되었는 파일을 지정


Option Explicit


-- 변수의 명시적 선언 방법에 있어 변수 사용시 생길 수 있는 오타를 잡는다


Dim name, title, comment
name = Request.form("name")
title = Request.form("title")
comment = Request.form("comment")


-- write.html 문서에서 Method=Post로 했으므로 전달된 쿼리 값은 폼 콜렉션에서 얻을 수 있다. 이것을 새로운 지역 변수에 각각 저장한다.


strConnect="Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=C:\DataStore\board.mdb"


-- DB에 연결하는데 필요한 콘넥션 스트링 값을 적는다. Data Source 부분에 우리가 만들었던 board.mdb를 지정한다.


Set objRS = Server.CreateObject("ADODB.RecordSet")


-- ADO 개체 RecordSet 개체의 인스턴스를 생성한다


objRS.Open "Myboard", strConnect, adOpenStatic, adLockPessimistic,adCmdTable


-- Open 메쏘드를 이용하여 레코드셋에 접근한다. 인자값 5개가 주어지는데 첫 번째는 우리가 만들었던 board.mdb의 테이블이름을 적어주고 두 번째는 콘넥션 스트링값을 적어주고 세 번째는 커서타입, 네 번째는 락 타입을 적어준다.  다섯 번재는 옵션부분으로 어느 타입의 데이터 소스인지 알려준다.


with objRS
    .AddNew
    .Fields("b_name") = name
    .Fields("b_title") = title
    .Fields("b_comment") = comment
    .Update
    .Close
end with


-- with 문을 사용하면 객체의 이름을 쓰지 않아도 된다. AddNew 로 새로운 정보를 입력하겠다는 것을 알리고 각각의 필드이름을 적고 그에 해당하는 값을 적어준다. Update 로 입력된 정보를 업데이트하라고 명령한다. Close로 닫는다.


Set objRS = nothing
Response.Write "insert ok"


-- 개체의 인스턴스값을 없애고 insert ok 라는 메세지를 출력시킨다.




브라우저로 write.asp 문서를 로딩한후에 적당한 글을 입력한후 전송버튼을 누른다. 제대로 DB에 저장이 되었다면 화면에 'insert ok'라는 메세지가 나온다. 그럼 성공. 정말로 디비에 저장이 되었는지 확인한다.

access를 실행시키고 아까 저장했던 board.mdb를 연후 Myboard 테이블을 선택하여 내가 입력한 글이 정확하게 저장되었는지 확인한다.