c#獲取DataTable某一列不重複的值,或者獲取某一列的全部值

   實現該功能是用了DataView的篩選功能,DataView表示用於排序、篩選、搜索、編輯和導航的 DataTable 的可綁定數據的自定義視圖。 這裏作了一個簡單易懂的Demo來說述該方法。sql

 

1.建兩張表

2.讀數據庫數據到dt顯示到dataGridView

3.用DataView選擇表dt中數據並返回表dtTemporary

4.運行效果

 
namespace UbdTest
{
    public partial class Demo : Form
    {
        DataTable dt = new DataTable();//數據源
        DataTable dtTemporary = new DataTable();//接收返回的所需數據


        public Demo()
        {
            InitializeComponent();
        }

        private void Demo_Load(object sender, EventArgs e)
        {
            GetData();//調用獲取數據方法得到數據
        }
        /// <summary>
        /// 從數據庫獲取數據方法
        /// </summary>
        private void GetData()
        {
         

            //創建數據庫連接
            string sqlconString = "Data Source=(local);Initial Catalog=Demo;User ID=sa;Password=sa";//建立鏈接字符串sqlconString
            SqlConnection objcon = new SqlConnection(sqlconString);//建立sql數據鏈接對象objcon
            objcon.Open();//打開數據庫連接

            //建立一個DataAdapter對象,它表示數據庫和DataSet對象之間的連接
            SqlDataAdapter dataAdapter = new SqlDataAdapter("Select*From 工做表", objcon);

            //建立DataSet對象的一個實例,爲整個DataSet提供一個名稱,而後才能開始加載數據
            DataSet ds = new DataSet("Demo");//test爲數據來源數據庫

            //用SqlDataAdapter類提供的Fill方法向DataSet加載數據
            dataAdapter.Fill(ds, "工做表");

            dt = ds.Tables[0];
        }

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

        private void button2_Click(object sender, EventArgs e)
        {
            DataView dataview = dt.DefaultView;
            dtTemporary = dataview.ToTable(true,"日期");

            dataGridView2.DataSource = dtTemporary;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            DataView dataview = dt.DefaultView;
            dtTemporary = dataview.ToTable(true, "工做內容");

            dataGridView3.DataSource = dtTemporary;
        }
相關文章
相關標籤/搜索