데이타테이블 간단한 사용법 및 검색방법

DataTable 만들기


System.Data.SqlClient.SqlDataAdapter sqlAp = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM      SUB_FAMILY" , dbconn.GetConnection() );

   System.Data.DataTable dt  = new System.Data.DataTable();

   sqlAp.Fill(dt);
   System.Data.DataRowCollection rows =dt.Rows;
   foreach (DataRow dr in rows){
    System.Windows.Forms.MessageBox.Show( dr["필드네[임"].ToString() );
   }

RowFilter

System.Data.SqlClient.SqlDataAdapter sqlAp = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM  SUB_FAMILY" , dbconn.GetConnection() );

    System.Data.DataTable dt  = new System.Data.DataTable();  
    sqlAp.Fill(dt);
    System.Data.DataView dv = new DataView(dt);    
    dv.RowFilter = "name='kojaedoo'"; //where 이후의 검색어 네임이란 데이터베이스 필드에서 kojaedoo 검색

    /*LIKE 문으로 검색하기 :: dv.RowFilter = "name like '%kojaedoo%'"; */

dv.Sort ="name desc" //정렬방법

  for(int i=0; i < dv.Count; i++){
       System.Windows.Forms.MessageBox.Show( dv[i]["name"].ToString() );    
    }

Find

System.Data.SqlClient.SqlDataAdapter sqlAp = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM  SUB_FAMILY" , dbconn.GetConnection() );

System.Data.DataTable dt  = new System.Data.DataTable();  
sqlAp.Fill(dt);
System.Data.DataView dv = new DataView(dt);   

dv.Sort ="name desc" //정렬방법

int i = dv.Find("검색어");

만약 검색결과가 없으면 -1 이 반환된다

if(i  >=1){

System.Windows.Forms.MessageBox.Show(  dv[i]["name"].ToString() );

}   

dv.Find("검색어"); 이렇게 검색하면 하나밖에 결과물이 나오지않는다

아래방법처럼 검색하면 검색어가  검색된 모든 row가 나온다

FindRows (두개이상의 데이터를 검색할때)

    dv.Sort="f_idx desc";     
    System.Data.DataRowView []dr =  dv.FindRows("검색어");
    for(int for_i=0;for_i < dr.Length; for_i++ ){

      MessageBox.Show( dr[for_i].Row["데이터베이스 필드네임"].ToString()  );
    }

+ Recent posts