2011. 7. 19. 14:55

DataSet 객체


DataSet 객체는 하나의 데이터베이스를 나타냅니다. 데이터를 제공하는 것뿐 아니라 데이터를 분석하고 다루는데 필요한 기타 정보도 같이 제공합니다. 예를 들면 테이블 구조 정보, 필드 정보, 프라이머리 키, 데이터 관계 규약 정보 등등을 제공합니다.


클래스                            기능
DataSet                     전체 데이터셋을 담을수 있으며, 하나 이상의 데이블 또는 전체 디어터베이스를 담을수 있습니다.
DataTable                  하나의 테이블 정보를 담을 수 있습니다.
DataRow                   테이블에서 하나의 행에 해당하는 값을 담고 있습니다.
DataColumn              테이블에서 하나의 열에 대한 정보를 담고 있습니다.
DataRelation              두개 테이블 사이에 관계 설정을 담고 있습니다.
DataSetView             테이블의 뷰 정보를 담고 있습니다.
Constraint                 테이블에서 값을 제어하는 규약을 담고 있습니다.



//DataAdapter 객체 생성
OleDbDataAdapter adapter = new OleDbDataAdapter();

// SelectCommand 프로퍼티
string sql = "Select * from Member";
adapter.SelctCommand = new OleDbCommand(sql,conn);

//Fill메서드
DataSet ds = new DataSet();
adapter.Fill(ds);




XML 파일에서 읽어오기.(ReadXml 메서드를 부를때 Xml 파일이 있는 경로를 지정합니다.

DataSet ds = new DataSet();
db.ReadXml (@"C:\Project\db.xml");


 


 protected void Page_Load(object sender, EventArgs e)
    {
        string source = @"Data Source=localhost\sqlexpress;Initial Catalog=pubs;Integrated Security=True";
        string sql = "Select * from authors";

        //1.데이터베이스 연결,Sql 서버
        SqlConnection conn = new SqlConnection(source);
        conn.Open();

        //2.Adapter 객체.  실행할 명령 지정.
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(sql, conn);

        //3.Data 객체, Adapter 객체를 통해서 데이터를 체웁니다.
        DataSet ds = new DataSet();
        adapter.Fill(ds);

        DataTable dt = ds.Tables[0];

        //4.리스트뷰 컨트롤에 실행 결과를 출력합니다.
        foreach (DataRow row in dt.Rows)
        {
            Response.Write(row[0] + " / ");
            Response.Write(row[1] + " / ");
            Response.Write(row[2] + " <br>");
        }

        //5.데이터베이스 닫기
        conn.Close();

    }



   1. 데이터 베이스에 연결 -> 2. Adapter 객체에 실행할 명령을 지정 -> 3. Data 객체 에 Adapter 객체를 통해서 데이터를 체운다. -> 4. 리스트뷰 컨트롤에 실행 결과를 출력한다.