Database Programming Exceed Camp #2 24 October 2005
อะไรคือฐานข้อมูล ? ระบบจัดการฐานข้อมูล (DBMS) ฐานข้อมูล คือ การจัดเก็บข้อมูลไว้อย่างมีระเบียบ ง่ายต่อการค้นหา เร็วในการเข้าถึง ข้อมูลเชื่อถือได้ตลอดเวลา สามารถแก้ไขข้อมูลได้ตลอดเวลา มีภาษาในการติดต่อ (SQL) มีหลายรูปแบบแต่ส่วนใหญ่อยู่ในรูปแบบของตาราง ระบบจัดการฐานข้อมูล (DBMS)
ตัวอย่างฐานข้อมูล Row/ Transaction Table Categories Column / Field
เราทำอะไรกับฐานข้อมูลได้บ้าง ? Select ค้นหาข้อมูลที่ต้องการ Update แก้ไขข้อมูลที่มีอยู่ Insert เพิ่มข้อมูลใหม่ Delete ลบข้อมูลเก่า และ ... อีกเพียบ (สอนไม่หมด -_-”) เราจะใช้คำสั่ง SQL ในการติดต่อฐานข้อมูล
ภาษาฐานข้อมูล / ภาษา SQL Structure Query Language เป็นภาษามาตรฐาน ทำให้ติดต่อฐานข้อมูลได้สะดวกมากขึ้น ทำให้ระบบจัดการฐานข้อมูลเริ่มมีส่วนคำนวณได้ ใช้ได้เฉพาะ reletional database เท่านั้น (ข้อมูลในรูปแบบตารางนั่นแหละ)
SQL : select statement SELECT column_name FROM table_name [WHERE bool_condition] [GROUP BY column_name] [HAVING bool_condition] [ORDER BY column_name]
SQL : select statement Table Phonebook SELECT name FROM phonebook SELECT id, name FROM phonebook ORDER BY id
SQL : select statement SELECT DISTINCT name FROM phonebook SELECT * WHERE id < 2
SQL : Insert statement INSERT INTO table_name VALUES (data1,data2,…,dataN) INSERT INTO phonebook VALUES (5,Selphiroth,’EEE’, '1-234-xxxx’, ’ ’) INSERT INTO phonebook(id,name) VALUES (7, ’Red XIII’)
SQL : Update statement UPDATE table_name SET column_name = value [WHERE bool_condition]
UPDATE phonebook SET lastname = ‘ABCD’ UPDATE phonebook SET lastname = ‘XXXX’ WHERE id < 3
SQL : Delete statement DELETE FROM table_name [WHERE bool_condition] DELETE FROM phonebook WHERE name = ‘Cloud’ or name = ‘Tifa’
ขั้นตอนการติดต่อฐานข้อมูลด้วย C# รู้ก่อนว่าใช้ฐานข้อมูลอะไรและเก็บที่ไหน string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= d:\\course\\exceed\\memo.mdb"; เพิ่มคำสั่ง using System.Data.OleDb; ในส่วนต้นโปรแกรม สร้างวัตถุ OleDbConnection เพื่อใช้ในการติดต่อ OleDbConnection conn = new OleDbConnection(connStr);
ขั้นตอนการติดต่อฐานข้อมูลด้วย C# เตรียมคำสั่ง SQL string query = "select id,name,phone from PhoneBook1"; เมื่อเตรียมทุกอย่างพร้อมก็เปิด connection แต่ว่าต้องไว้ใน try/catch try { conn.Open(); … } catch (OleDbException err) MessageBox.Show(“Error : “ + err.Message);
ขั้นตอนการติดต่อฐานข้อมูลด้วย C# 6. สร้างวัตถุ OleDbCommand เพื่อใช้ในการประมวลผลคำสั่ง SQL OleDbCommand command = new OleDbCommand(query,conn); 7. ประมวลผลคำสั่งที่เก็บในวัตถุ OleDbCommand โดยแบ่งเป็น 2 แบบคือ 7.1 คำสั่ง insert/update/delete เรียกใช้ int x = command.ExecuteNonQuery(); // ค่าของ x คือจำนวนแถวที่ถูกแก้ไข
ขั้นตอนการติดต่อฐานข้อมูลด้วย C# 7.2 คำสั่ง select ให้ใช้วัตถุ OleDbDataReader มารับดังนี้ OleDbDataReader reader = command.ExecuteReader(); while(reader.Read()) { label1.Text = reader[0].ToString(); label2.Text = reader[“ID”].ToString(); label3.Text = reader.GetString(0); } reader.Close(); เมื่อใช้เสร็จให้ปิด connection ด้วย conn.close();
Assignment เขียนโปรแกรมสมุดโทรศัพท์ หรือโปรแกรมอื่นที่... ค้นหาชื่อได้ เพิ่มชื่อ ลบชื่อ แก้ไขชื่อ