ASP

 

 

ADO CursorType Property

CursorType property는 Recordset object를 열 때 사용하기 위한 cursor type을 설정 또

는 반환한다. 이 property는 CursorTypeEnum 값을 취할 수 있다. Default는

adOpenForwardOnly이다. 

 

Note : CursorLocation property 가 to adUseClient로 설정되었다면, CursorType

property 에 대한 유효한 settring은 오직 adOpenStatic이다.

 

Note : 지원되지 않은 값을 설정한다면 provider가 지원되는 CursorType으로 변경하기 때

문에 에러가 발생하지 않을 것이다.

 

Syntax

objRecordset.CursorType 

 

%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("northwind.mdb"))

set rs = Server.CreateObject("ADODB.recordset")

sql="SELECT * FROM Customers"

 

rs.CursorLocation = adUseClient

rs.CursorType = adOpenStatic

rs.LockType = adLockBatchOptimistic

 

rs.Open sql, conn

%>



 

 

CursorTypeEnum Values

 

 

 

검색 루티 만들기

search.asp

 

 

 

 

데이터베이스에 연결하기 위해 데이터베이스 연결 설정 파일인 dbcon.asp 파일을 include 한다.

<!--#include file=dbcon.asp -->

 

Request 객체를 사용하여 id, name, sex, keyfield , key 값을 불러온다.

  id=request("id")
  name=request("name")
  sex=request("sex")
  keyfield=request("keyfield")
  key=request("key")

 

select 구문을 사용하여 알아온 레코드의 개수를 totalcount 라는 변수에 저장한다. key 값이 없다면 전체 레코드의 개수를 알아온다.

키 값(검색어) 이 있다면 키 값에 따라 검색된 레코드의 개수를 totalcount 변수에 저장한다.

 if key ="" then
   sql ="SELECT count(*) as totalcount FROM usert"
 else
   sql="select count(*) as totalcount from usert where " & keyfield & " like '%" & key & "%'"
 end if

 

sql 질의문을 실행한다.

 

 Set rs=db.Execute(sql)
 

검색 자료 출력

연결 객체를 생성한다.

 

               Set DbRec=Server.CreateObject("ADODB.Recordset")
               DbRec.CursorType=1

 

검색어에 따른 레코드를 가져온다. 만약 키 값(검색어) 이 없다면 데이터베이스의 usert 테이블에서 모든 데이터를 가져온다.

 

               if key="" Then
                  DbRec.Open "Select * From usert ORDER by id asc ", db
               else

 

키 값이 있다면  키 값(검색어)을 조건으로 하여 데이터베이스의 usert 테이블에서 레코드를 가져온다. 예를 들어

키 필드 값(이름) 을  "이름 " 을 선택하고, 키 값(검색어)을  입력하고, 검색 버튼을 클릭하게 되면 검색어 데이터를 가져와서

목록보기에 출력한다.

 

     else
                  DbRec.Open " Select * From usert where " & keyfield & " like '%" & key & "%' Order by id asc ", db

               end if

 

검색된 레코드의 개수만큼 반복하여 데이커 값을 출력한다.

 

            <%
              For i =1  to rs("totalcount")
            %>
              <tr>
                  <td><%= DbRec("id")%></td>
                  <td><%= DbRec("name") %></td>
                  <td><%= DbRec("sex") %></td>
                  <td><%= DbRec("memo") %></td>
              </tr>
            <%
              DbRec.movenext
              Next
            %>

 

 

 

search.asp

<!--#include file=./include/header.asp  -->
<script>

function add(){

  location.href="inputform.asp"  ;
}
</script>
</head>
<body>
<!--#include file=dbcon.asp -->

<%

  id=request("id")
  name=request("name")
  sex=request("sex")
  keyfield=request("keyfield")
  key=request("key")

 if key ="" then
   sql ="SELECT count(*) as totalcount FROM usert"
 else
   sql="select count(*) as totalcount from usert where " & keyfield & " like '%" & key & "%'"
 end if

 Set rs=db.Execute(sql)

%>
<p>
  &nbsp;
</p>
<div class="rows" >
 <div class="col-xs-12 col-sm-12" >
    <h3 class="text-center">목록 보기</h3>
    <p>
      &nbsp;
    </p>
   <div class="col-xs-3 col-som-3"></div>

   <div class="col-xs-6 col-som-6">
     <div class="text-center">
        <p>
          <button onclick="add()" class="btn-primary">추가하기</button>
        </p>
        <p class="text-left">
          레코드 총 수 :  총 <%= rs("totalcount") %>개<br/>
        </p>
       <form class="form" action="search.asp" method="post">
         <div class="col-sm-2">
             <select name="keyfield" class="form-control">
               <option value="name">이름</option>
               <option value="sex">성별</option>
             </select>
         </div>
         <div class="col-sm-2">
           <input type="text" name="key"  class="form-control" />
         </div>
         <div class="col-sm-2">
            <input type="submit" value="Search" name="submit"  class="form-control btn-success"/>
         </div>
       </form>
       <p><br />&nbsp;</p>
        <table class="table">
            <tr>
               <th>번호</th>
               <th>이름</th>
               <th>성별</th>
               <th>메모</th>
            </tr>
            <%
               Set DbRec=Server.CreateObject("ADODB.Recordset")
               DbRec.CursorType=1
               if key="" Then
                  DbRec.Open "Select * From usert ORDER by id asc ", db
               else
                  DbRec.Open " Select * From usert where " & keyfield & " like '%" & key & "%' Order by id asc ", db

               end if
            %>

            <%
              For i =1  to rs("totalcount")
            %>
              <tr>
                  <td><%= DbRec("id")%></td>
                  <td><%= DbRec("name") %></td>
                  <td><%= DbRec("sex") %></td>
                  <td><%= DbRec("memo") %></td>
              </tr>
            <%
              DbRec.movenext
              Next
            %>



        </table>

     </div>


   </div>


 </div>
</div>




</body>
</html>

 

 

 

 

 

 

 

about author

PHRASE

Level 60  라이트

귀신 듣는 데서는 떡 소리도 못 하겠다 , 무슨 말이 떨어지기가 무섭게, 그것을 해줄것을 요구하는 경우를 이르는 말.

댓글 ( 4)

댓글 남기기

작성