ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SqlDataSource 컨트롤
    Programing/Web 2008. 4. 30. 18:16

    MSDN : 데이터 바인딩된 컨트롤의 SQL 데이터베이스를 나타냅니다.

    네임스페이스:  System.Web.UI.WebControls


    .net 2.0에 새로 생긴 컨트롤인데 가면 갈수록 굉장히 개발이 편해지고 있구나를 느끼게 해주는 클래스이다. 말 그래도 DB에 쿼리문까지 해서 실행된 결과를 가져오게 해주는 컨트롤이다.
    본문에 SqlDataSource을 드래그 하면 다음과 같은 문구가 나온다.

    <asp:SqlDataSource ID="SqlDataSource1" runat="server">
    </asp:SqlDataSource>

    하지만 이러한 기본형태로는 아무런 기능을 하지 못한다.

    사용자 삽입 이미지


    위와 같이 생긴 SqlDataSource컨트롤의 오른쪽 화살표를 누르면 원하는 DB와 연결을 할수있는 폼이 나와준다.

    사용자 삽입 이미지

    나의 CHANY_DB로 연결하겠다는 장면


    위의 연결문자열을 클릭해서 보면 아이디와 패스워드까지 DB에 연결할수있는 문자열이 자동 생성됨을 알수있다. 연결문자열은 각 DBMS마다 각기 다른 형태를 지닌다.

    사용자 삽입 이미지
    쭉쭉쭉...앞으로 넘어가다보면 쿼리문을 자동으로 짜주는 박스가 나온다. 쿼리문에 대해 조금만 알아도 컨트롤할수있다. 또한 사용자 저장 프로시저까지 지정해 주기 때문에 굉장히 편하다.

    계속해서 SqlDataSource 지정이 가르치는대로 가면 DB연결과 원하는 쿼리문까지 완성된다. 최종적으로 완료를 하면 자동적으로 코드도 아래와 같이 완료가 된다.

    <asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:CHANY_DB %>"
    SelectCommand="UP_SELECT_BOARDLIST" SelectCommandType="StoredProcedure">

    많은 일을 한것 같지만 추가된 속성은 위 코드의 빨간색 3개 뿐이다.

    ConnectionString :내부 데이터베이스에 연결하는 데 사용하는 ADO.NET 공급자 관련 연결 문자열을 가져오거나 설정합니다.(연결 문자열은 웹구성파일(기본 Web.config)의 <connectionStrings>태그 안에 지정됩니다.)

    SelectCommand : 내부 데이터베이스에서 데이터를 검색하는 데 사용하는 SQL 문자열을 가져오거나 설정합니다(위의 예제에서의 문자열 'UP_SELECT_BOARDLIST'은  사용자 정의 프로시저입니다. 기본적은 SELECT문등을 사용해도 좋습니다.)

    SelectCommandType : SelectCommand 속성의 텍스트가 SQL 쿼리인지 아니면 저장 프로시저의 이름인지 나타내는 값을 가져오거나 설정합니다.(저는 저장 프로시저를 사용하였기에 StoredProcedure을 선언하였습니다.)

    이렇게 해서 SqlDataSource 컨트롤를 사용하여 간단하게 DB에서부터의 필요한 데이터를 불러오기를 확보하였습니다.
    다음으론 SqlDataSource 컨트롤과 바인딩 가능한 서버 컨트롤을 사용하여 가져온 데이터를 표현하는 것이다.

    GridView서버 컨트롤을 사용하여 가져온 데이터를 표현해볼것이다.





Designed by Tistory.