ผู้เขียนจะแสดงตัวอย่างการเรียกข้อมูลพนักงานขึ้นมาแสดง โดยให้มีการกรองข้อมูลในระดับของ DataTable เลย
สร้าง Project เป็น Windows Forms Application และในฟอร์มวาง Control DataGridView เพื่อใช้แสดงข้อมูล
DataGridView บนฟอร์ม |
public partial class Form1 : Form
{
//ประกาศ DataSet เป็น member ของคลาส
private DataSet empDS;
public Form1()
{
InitializeComponent();
//ดึงข้อมูล EMPLOYEE ผ่าน SqlConnection
using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.ICORD2ConnectionString.ToString()))
{
this.empDS=new DataSet();
SqlDataAdapter adap = new SqlDataAdapter("SELECT * FROM EMPLOYEE", conn);
conn.Open();
adap.Fill(this.empDS, "EMPLOYEE");
//แสดงข้อมูลทั้งหมดผ่าน DataGridView
this.dataGridView1.DataSource = new BindingSource(this.empDS, "EMPLOYEE");
}
}
}
ข้อมูลที่ได้คือข้อมูลทั้งหมดของพนักงาน
ภายใน DataGridView แสดงข้อมูลทั้งหมด |
public partial class Form1 : Form
{
//ประกาศ DataSet เป็น member ของคลาส
private DataSet empDS;
public Form1()
{
InitializeComponent();
//ดึงข้อมูล EMPLOYEE ผ่าน SqlConnection
using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.ICORD2ConnectionString.ToString()))
{
this.empDS=new DataSet();
SqlDataAdapter adap = new SqlDataAdapter("SELECT * FROM EMPLOYEE", conn);
conn.Open();
adap.Fill(this.empDS, "EMPLOYEE");
//ตรวจสอบว่า DataSet มีค่าหรือไม่
if (this.empDS != null)
{
//ดึง DataTable ออกมาใช้งาน
DataTable tb = this.empDS.Tables["EMPLOYEE"];
//ใช้ method Select ของ DataTable เพื่อกรองข้อมูลเฉพาะรหัสพนักงาน 1447
//จะได้ค่ากลับมาเป็นชุดของ DataRow Array
DataRow[] dr = tb.Select("(EMP_COD = '1447')");
//ทำการล้าง DataTable ของ DataSet เดิมออก
this.empDS.Tables.Clear();
//ประกาศ DataTable ขึ้นมาใช้งานใหม่ โดยให้ลอกโครงสร้างจาก DataTable EMPLOYEE เดิม
DataTable tb2 = tb.Clone();
//ลูปใส่ DaraRow ทั้งหมดที่กรองได้
foreach (DataRow row in dr)
{
tb2.ImportRow(row);
}
//เพิ่ม DataTable ใหม่ที่กรองข้อมูลแล้ว เข้าไปที่ DataSet ตัวเดิม
this.empDS.Tables.Add(tb2);
//แสดงข้อมูลทั้งหมดผ่าน DataGridView
this.dataGridView1.DataSource = new BindingSource(this.empDS, "EMPLOYEE");
}
}
}
}
ผลของข้อมูลที่ได้จะเป็นข้อมูลที่ถูกกรองแล้ว
กรองข้อมูลรหัส 1447 พบเพียง Row เดียว |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น