跳過dataset中指定數量的記錄

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Skip
{
    public partial class Frm_Main : Form
    {
        public Frm_Main()
        {
            InitializeComponent();
        }

        private void Frm_Main_Load(object sender, EventArgs e)
        {
            QueryData(Convert.ToInt32(textBox1.Text));
        }

        private void button1_Click(object sender, EventArgs e)
        {
            QueryData(Convert.ToInt32(textBox1.Text));
        }

        private void QueryData(int? cnt)
        {
            string conStr = "Data Source=WIN-GI7E47AND9R\LS;Database=db_TomeTwo;UID=sa;Pwd=;";//取連接字符串
            string sql = "select * from EmployeeInfo";//構造sql語句
            DataSet ds = new DataSet();//創建數據集
            using (SqlConnection con = new SqlConnection(conStr))//創建數據連接
            {
                SqlCommand cmd = new SqlCommand(sql, con);//創建Command對象
                SqlDataAdapter sda = new SqlDataAdapter(cmd);//創建DataAdapter對象
                sda.Fill(ds, "EmployeeInfo");//填充數據集
            }
            if (cnt == null || cnt <= 0)//如果參數爲空,取所有記錄
            {
                dataGridView1.DataSource = ds.Tables["EmployeeInfo"];//設置dataGridView1數據源
            }
            else//跳過參數指定的記錄數
            {
                try
                {
                    IEnumerable<DataRow> query = ds.Tables["EmployeeInfo"].AsEnumerable().Skip(cnt ?? 0);//使用LINQ查詢數據集
                    dataGridView1.DataSource = query.CopyToDataTable();//設置dataGridView1數據源
                }
                catch { }
            }
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章