งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1. ADO.NET OleDbConnection OleDbCommand OleDbDataReaderOleDbDataAdapter DataSetSqlConnectionSqlDataAdapterSqlCommandSqlDataReader 2 (ActiveX Data Object)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1. ADO.NET OleDbConnection OleDbCommand OleDbDataReaderOleDbDataAdapter DataSetSqlConnectionSqlDataAdapterSqlCommandSqlDataReader 2 (ActiveX Data Object)"— ใบสำเนางานนำเสนอ:

1 1

2 ADO.NET OleDbConnection OleDbCommand OleDbDataReaderOleDbDataAdapter DataSetSqlConnectionSqlDataAdapterSqlCommandSqlDataReader 2 (ActiveX Data Object)

3 1. Connection ทำหน้าที่สร้างการเชื่อมต่อเข้ากับ ฐานข้อมูล 1.OleDbConnection ติดต่อกับ Access, Oracel, SQL Server, MySQL 2.SqlConnection ติดต่อกับ SQL Server 2. DataAdapter ทำหน้าที่เก็บชุดคำสั่ง SQL เพื่อคิวรี ข้อมูลออกมาจากฐานข้อมูล ผลลัพธ์ที่ได้คือ ออบเจ็กต์ DataSet 3. DataSet ทำหน้าที่เก็บผลลัพธ์จาการทำคิวรีข้อมูล จากฐานข้อมูลที่ได้จาก DataAdapter 4. Command ทำหน้าที่เก็บชุดคำสั่ง SQL เพื่อคิวรี ข้อมูลออกมาจากฐานข้อมูล ผลลัพธ์ที่ได้คือ ออบเจ็กต์ DataReader 5. DataReader ทำหน้าที่เก็บผลลัพธ์จาการทำคิวรี ข้อมูลจากฐานข้อมูลที่ได้จาก Command 3

4  DataSet อ่านข้อมูลทั้งหมดที่คิวรีได้ภายในครั้งเดียว โดยใช้คำสั่ง Fill() ของ DataAdapter เหมาะกับการอ่าน ข้อมูลจำนวนมาก  สามารถจัดการข้อมูลที่ตัว DataSet เองได้  ใน 1 DataSet สามารถเก็บผลลัพธ์จากการคิวรีได้ หลายๆ ครั้งโดยตั้งชื่ออ้างอิงที่แตกต่างกันออกไป 4

5  ตัวอย่างตาราง User 5

6 ตัวอย่าง DataSet 6

7  DataReader อ่านข้อมูลออกมาครั้งละ 1 record โดยใช้ คำสั่ง Read() เหมาะกับการอ่านข้อมูลจำนวนน้อยๆ มี การทำงานเร็วกว่า DataSet ◦ ถ้าต้องการอ่านข้อมูลจำนวนมากขึ้นต้องมีการเก็บ ผลลัพธ์ไว้ใน DataTable โดยใช้คำสั่ง Load() ◦ การอ่านข้อมูลของ DataReader นั้นเป็นการอ่าน ข้อมูลโดยการเลื่อน pointer ไปข้างหน้าเพียงอย่าง เดียว (forward-only) 7

8 ตัวอย่าง DataReader (1) 8

9 ตัวอย่าง DataReader (2) 9

10  System.Data  System.Data.SqlClient // ติดต่อกับ SQL Server  System.Data.OleDb// ติดต่อกับ Access, Oracle, MySQL 10

11  สร้างฐานข้อมูลใหม่ ◦ Project > add new item > SQL Server Database ◦ ตั้งชื่อฐานข้อมูลเป็น Company.mdf  สร้างตารางโดยไปที่ Database explorer > table > add new table ◦ กำหนดให้สร้างตาราง Group เก็บข้อมูลประเภทของ ผู้ใช้งาน ◦ และตาราง User เก็บข้อมูลผู้ใช้งาน 11

12 ตาราง Group ตาราง User 12

13  ตาราง Group  ตาราง User 13

14  สร้าง Database diagram เพื่อสร้างความสัมพันธ์ ระหว่างตาราง โดยคลิ๊กที่ Database diagram > add new diagram 14

15 สร้างคลาส dbcon ( แบบ static) เพื่อ เชื่อมต่อฐานข้อมูล public static class dbcon { public static SqlConnection conn = null; private static string constr Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Company.mdf; Integrated Security=True;Connect Timeout=30;User Instance=True"; public static void connectToDB() { conn = new SqlConnection(constr); if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); } public static void closeDB() { if (conn.State == ConnectionState.Open) { conn.Close(); } 15

16  เขียนเมธอด connect_db() ภายในหน้านี้ เพื่อทดสอบ ว่าสามารถเชื่อมต่อฐานข้อมูลได้สำเร็จ ( โดยเรียกใช้เมธ อด connectToDB() ที่เคยได้เขียนไว้แล้วในคลาส dbcon) โดยต้องทดสอบเมธอด connect_db() นี้ โดยเรียกใช้ จาก Page_Load() protected void connect_db() { try { dbcon.connectToDB(); Response.Write(“ เชื่อมต่อฐานข้อมูลสำเร็จ "); } catch (Exception ex) { Response.Write(" เชื่อมต่อฐานข้อมูลไม่สำเร็จ " + ex); } 16

17 17

18 เขียนคำสั่งให้ดึงข้อมูลฟิลด์ groupName จากตาราง Group มาแสดงใน DropDownList protected void select_group() { connect_db(); string select_sql = "select * from [Group]"; // ประมวลผลคำสั่ง sql โดยใช้ SqlCommand โดยมี connection ส่งเข้าไปเป็นพารามิเตอร์ SqlCommand cmd = new SqlCommand(select_sql, dbcon.conn); // สร้าง datareader เพื่ออ่านข้อมูลผลลัพธ์ที่ได้ SqlDataReader reader = cmd.ExecuteReader(); // สร้าง datatable เพื่อเก็บผลลัพธ์ที่ได้อีกต่อหนึ่ง DataTable dt = new DataTable(); // โหลดผลลัพธ์จาก datareader มาเก็บใน datatable dt.Load(reader); // สั่งให้แสดงผลลัพธ์ใน dropdownlist ddlGroup.DataSource = dt; ddlGroup.DataTextField = "groupName"; // ชื่อฟิลด์ที่แสดงผล ddlGroup.DataValueField = "groupID"; // ชื่อฟิลด์ที่ return ค่าออกมา ddlGroup.DataBind(); // สั่ง bind ให้แสดงผลลัพธ์จาก datatable ลงใน dropdown //ddlGroup.Items.Insert(0, "please select"); dbcon.closeDB(); } 18

19 protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack == false) // คือเปิด เพจมาครั้งแรก select_group(); } ** property IsPostBack จะเป็น true ก็ต่อเมื่อเพจนั้น ถูกเปิดมาแล้วเป็นครั้งที่ 2 ขึ้นไป ( เช่นผู้ใช้กด refresh หรือมี event อื่นเกิดขึ้นในหน้านั้นแล้ว ) 19

20 protected bool valid_username() { connect_db(); string select_sql = “……………………………………………………………….."; SqlCommand cmd = new SqlCommand(select_sql, dbcon.conn); cmd.Parameters.AddWithValue(“ ชื่อพารามิเตอร์ ", ค่าที่กำหนดให้ ); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { lbCheck.Text= "Username ถูกใช้งานแล้ว "; dbcon.closeDB(); return false; } lbCheck.Text = " สามารถใช้ Username นี้ได้ "; dbcon.closeDB(); return true; } 20

21 protected void btnRegister_Click(object sender, EventArgs e) { if (valid_username()) { //check ก่อนว่า username นี้ยังไม่ถูกใช้งาน try { connect_db(); // กำหนดคำสั่ง sql insert ข้อมูลลงตาราง SqlCommand insert_cmd = new SqlCommand(“………………………", …………………); // ให้ค่าพารามิเตอร์ต่างๆ insert_cmd.Parameters.AddWithValue(“………..", ………………….); ……. // ประมวลผลคำสั่ง sql ใช้ ExecuteNonQuery() คือไม่ return ผลลัพธ์แถวกลับมา insert_cmd.ExecuteNonQuery(); lbStatus.Text = " เพิ่มข้อมูลสำเร็จ "; } catch (SqlException se) { lbStatus.Text =" เพิ่มข้อมูลไม่สำเร็จ " + se.ToString(); } dbcon.closeDB(); } else { lbStatus.Text = " เพิ่มข้อมูลไม่สำเร็จ เนื่องจาก username นี้ถูกใช้แล้ว "; } 21

22  สร้างหน้า Default.aspx  ปุ่ม register ให้ลิ้งค์ไปหน้า Register.aspx  ปุ่ม login เมื่อผู้ใช้กรอก username และ password แล้วให้ ไปตรวจสอบว่าข้อมูลทั้งสองตรงกับในฐานข้อมูลหรือไม่ ◦ ถ้าตรงกัน ก็ให้เข้าสู่ระบบได้แล้วลิ้งค์ไปหน้าใหม่ก็ได้ ( สร้างมา เพิ่มเติม ) ◦ ถ้าไม่ตรงกัน ก็แจ้งเตือนว่าให้ตรวจสอบ username, password อีกครั้งผ่าน label  เพิ่มเติม : ถ้าสามารถแยกความแตกต่างของกลุ่มผู้ใช้ได้จะ ได้คะแนนเพิ่ม ◦ เช่น username: ton อยู่ groupID ที่ 2 คือเป็น employee ก็ให้ ลิ้งค์มาหน้า employee ◦ username: tea อยู่ groupID ที่ 4 คือเป็น manager ก็ให้ลิ้งค์ มาหน้า manager 22


ดาวน์โหลด ppt 1. ADO.NET OleDbConnection OleDbCommand OleDbDataReaderOleDbDataAdapter DataSetSqlConnectionSqlDataAdapterSqlCommandSqlDataReader 2 (ActiveX Data Object)

งานนำเสนอที่คล้ายกัน


Ads by Google