지난 부분에 올렸던 부분의 후속부분으로 전체데이터를 읽어오지 않고 특정한 부분만 읽어올 경우는
어떻게 하면 될까요?

지난번처럼 GridView와 버튼하나 올려놓고 버튼을 더블클릭해서 아래와 같이 코딩합니다.


    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        'Connection 객체생성
        Dim strConn As String = "server=(local);database=AdventureWorks;uid=testman2;pwd=123645"
        Dim Conn As New SqlConnection(strConn)

        'Connection 객체열기
        Conn.Open()

        'Command 객체 생성
        Dim strSQL As String = "SELECT * FROM Person.Address where PostalCode= @PostalCode"
        Dim Comm As New SqlCommand(strSQL, Conn)

        'Parameter 객체 생성해서 Command 객체에 추가하기
        Dim param As New SqlParameter("@PostalCode", Data.SqlDbType.VarChar)
        param.Value = "98055"
        Comm.Parameters.Add(param)

        'DataReader 생성
        Dim reader As SqlDataReader = Comm.ExecuteReader

        'DataReader를 이용해서 DataView 컨트롤에 바인딩하기
        GridView1.DataSource = reader
        GridView1.DataBind()

        'DataReader와 Connection 닫기
        reader.Close()
        Conn.Close()

위에서 표시한대로 Command객체에서 SP(저장 프로시저)를 이용해서 특정한 값들을 불러오는 것처럼
SELECT문을 입력하고  Parameter객체를 생성한다음 Command객체에 추가해 주어 원하는 결과를 얻을 수 있음.

원래 AdventureWorks DB의 Person.Address테이블의 총레코드수는 19614이나 위의 예제에서는
PostalCode=98055인 것만 선택하여 GridView 보여지도록 하였다.

실행결과

사용자 삽입 이미지
결과적으로 115의 레코드만이 검색되어 뿌려주는 것을 알 수 있다.

Posted by 원철연(체르니)
,

현재 학원에서 수업을 받고 있는 것은 예전의 HTML,Javascript. ASP 기술들을 이용해서
웹사이트를 프로그래밍하는 부분을 받고 있는 중인데
그런 기술들은 예전에 다 접해봤으므로 지금은
ASP.NET2.0 기반의 웹사이트 프로그램하는 것을 나름대로 정리하고 있는 중이다.

오늘은  MSSQL2005서버에 있는 데이터를 읽는 기술 중 ADO.NET의 DataReader를 이용해서
MSSQL2005 서버에 설치한 NORTHWIND DB에 있는 categories테이블 데이터를 읽어오는 방법을 올려본다.

사용자 삽입 이미지

VS에서 빈웹사이트를 프로젝트를 선택하여 생성(언어는 Visual Basic으로) 한 후
폼 디자인을 아래와 같이 한다.

사용자 삽입 이미지

위와 같이 폼을 디자인 한후 데이터보기 버튼을 클릭하면 local에 있는 MSSQL2005서버에 접속하여
categories테이블에 있는 데이터를 읽어오는 과정이다.

데이터보기 버튼을 클릭하면 발생하는 이벤트 처리 코드
사용자 삽입 이미지

위와 같이 코딩한 후
일반선언부에 Imports System.Data.SqlClient 을 추가한 후
실행을 하면 아래와 같은 실행 결과를 얻을 수 있다.
사용자 삽입 이미지

근데 뭐가 좀 이상하지 않은가?
picture라는 열이 표시되지 않고 있는데 이 부분은 독자들에게 남겨두면서 이상...

Posted by 원철연(체르니)
,