블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

Category

Recent Post

Recent Comment

Archive

2009. 9. 29. 17:05 .Net Project/ADO.NET 3.5
반응형



                                               ↓



namespace MakeTable
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       
 private DataTable dt; //전역변수

    private void tblPeople_Click(object sender, EventArgs e)
        {
            dt = MakePeopleTable();
            dataGridView1.DataSource = dt;
        }

         /// <summary>
        /// 오름차순,내림차순 정렬 후 리스트 박스 출력
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        ///
        private void DisplayResult(DataRow[] Result)
        {
            lstDisplay.Items.Clear();
            foreach (DataRow R in Result)
            {
                lstDisplay.Items.Add(R["Name"]);              
            }
        }


        //오름차순
        private void btnAsc_Click(object sender, EventArgs e)
        {
            //Select메서드 사용
            DataRow[] Result = dt.Select("", "Name Asc");
            DisplayResult(Result); //출력
        }


        //내림차순
        private void btnDesc_Click(object sender, EventArgs e)
        {
            //Select메서드 사용
            DataRow[] Result = dt.Select("", "Name Desc");
            DisplayResult(Result); //출력
        }


        //의 나이 이름 조사
        private void btnAge_Click(object sender, EventArgs e)
        {
            string name = txtAge.Text;
            DataRow Result = dt.Rows.Find(name);
            if (Result ==null)
            {
                MessageBox.Show("해당사람이 없습니다");
            }
            else
            {
                MessageBox.Show
                      (name + "의 나이 :" + Result["Age"].ToString());
            }
        }



        //살 이상인 사람들 조사 
        private void btnName_Click(object sender, EventArgs e)
        {
            DataRow[] Result = dt.Select("Age >=" + txtName.Text);
            DisplayResult(Result);
        }

        /// <summary>
        /// 삭제, Accept, 새로변경, Reject 클릭이벤드
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
       
        ///삭제
        private void btnDelete_Click(object sender, EventArgs e)
        {
            DataRow[] arr = dt.Select("Name ='" + txtDelete.Text + "'");
            if (arr.Length != 0)
            {
                arr[0].Delete(); //삭제
            }
            this.dataGridView1.DataSource = dt;

        }


        //Accept
        private void btnAccept_Click(object sender, EventArgs e)
        {
            dt.AcceptChanges(); //변경완료

        }

        //새로변경
        private void btnNewChange_Click(object sender, EventArgs e)
        {
            DataRow[] arr = dt.Select("Name = '" + txtChangeAge.Text + "'");
            if (arr.Length != 0)
            {
                arr[0]["Age"] = Convert.ToInt32(txtNewChange.Text);
            }
        }
        //Reject
        private void btnReject_Click(object sender, EventArgs e)
        {
            dt.RejectChanges(); //변경취소
        }    
         
    }
}







- 위의 내용을 ADO.NET 이용하여 구현

 using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;


public partial class Category_FrmDataTableSelect : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            Display();
        }
    }

    private void Display()
    {
        SqlConnection con = new SqlConnection
                     (ConfigurationManager.ConnectionStrings
                      ["ConnectionString"].ConnectionString);

        SqlCommand cmd = new SqlCommand
           ("Select CategoryID, CategoryName From Categories",con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
       
        DataSet ds = new DataSet();
        da.Fill(ds, "Categories");
        DataTable dt = ds.Tables[0];

        //가전이면서, categoryID에 내림 차순으로 정렬
        DataRow[] arr = dt.Select
                ("CategoryName Like '%가전%'","CategoryID Desc");
       
        //전체출력
        //dt.Select("", "CategoryID Desc"); //RowFilter속성과 Sort속성의 기능 
        
        //반복하면서 출력
        for (int i = 0; i < arr.Length; i++)
        {
            this.ListBox1.Items.Add(
                    new ListItem(
                            arr[i]["CategoryName"].ToString(), arr[i]
                            ["CategoryID"].ToString()));
        }
        
    }
}





반응형
posted by Magic_kit