การเพิ่ม การอัปเดต การลบ: การเชื่อมต่อฐานข้อมูล ASP.NET
⚡ สรุปอย่างชาญฉลาด
ASP.NET เชื่อมต่อกับฐานข้อมูลต่างๆ เช่น SQL Server และ Oracle โดยใช้ ADO.NET ผ่านคลาส SqlConnection, SqlCommand, SqlDataReader และ SqlDataAdapter เพื่อเปิดการเชื่อมต่อและดำเนินการเลือก แทรก อัปเดต และลบข้อมูลกับระเบียนที่จัดเก็บไว้
การเข้าถึงข้อมูลจากฐานข้อมูลเป็นสิ่งสำคัญในภาษาโปรแกรมทุกภาษา จำเป็นอย่างยิ่งที่ภาษาโปรแกรมทุกภาษาจะต้องมีความสามารถในการทำงานกับฐานข้อมูล
ASP.NET มีความสามารถในการทำงานกับฐานข้อมูลหลายประเภท โดยสามารถทำงานร่วมกับฐานข้อมูลที่ใช้กันทั่วไปได้ เช่น Oracle และ Microsoft SQL เซิร์ฟเวอร์
อีกทั้งยังมีความสามารถในการทำงานกับฐานข้อมูลรูปแบบใหม่ๆ เช่น MongoDB และ MySQL.
หลักการพื้นฐานของการเชื่อมต่อฐานข้อมูล
ASP.NET สามารถทำงานร่วมกับฐานข้อมูลได้หลากหลายประเภท โดยประเภทที่ใช้กันมากที่สุดคือ Oracle และ Microsoft SQL Server- แต่ในทุกฐานข้อมูล ตรรกะเบื้องหลังการทำงานกับฐานข้อมูลทั้งหมดส่วนใหญ่จะเหมือนกัน
ในตัวอย่างของเรา เราจะดูการทำงานกับ Microsoft SQL Server เป็นฐานข้อมูลของเรา เพื่อวัตถุประสงค์ในการเรียนรู้ สามารถดาวน์โหลดและใช้งานได้ Microsoft SQL Server รุ่นเอ็กซ์เพรส นี่คือซอฟต์แวร์ฐานข้อมูลฟรีที่จัดทำโดย Microsoft.
ในการทำงานกับฐานข้อมูล แนวคิดต่อไปนี้เป็นสิ่งที่พบได้ทั่วไปในฐานข้อมูลทุกประเภท:
- การเชื่อมต่อ – ในการทำงานกับข้อมูลในฐานข้อมูล ขั้นตอนแรกที่ชัดเจนคือการเชื่อมต่อ การเชื่อมต่อกับฐานข้อมูลโดยปกติจะประกอบด้วยพารามิเตอร์ที่กล่าวถึงด้านล่าง
- ชื่อฐานข้อมูลหรือแหล่งข้อมูล – พารามิเตอร์ที่สำคัญตัวแรกคือชื่อฐานข้อมูล การเชื่อมต่อแต่ละครั้งสามารถทำงานได้กับฐานข้อมูลครั้งละหนึ่งฐานข้อมูลเท่านั้น
- หนังสือรับรอง – ส่วนสำคัญถัดมาคือชื่อผู้ใช้และรหัสผ่าน ซึ่งใช้ในการสร้างการเชื่อมต่อกับฐานข้อมูล
- พารามิเตอร์เสริม – คุณสามารถระบุพารามิเตอร์เพิ่มเติมเกี่ยวกับวิธีการที่ .NET ควรจัดการการเชื่อมต่อกับฐานข้อมูลได้ ตัวอย่างเช่น คุณสามารถระบุพารามิเตอร์สำหรับระยะเวลาที่การเชื่อมต่อควรใช้งานได้
- การเลือกข้อมูลจากฐานข้อมูล – เมื่อสร้างการเชื่อมต่อแล้ว ข้อมูลจะถูกดึงมาจากฐานข้อมูล ASP.NET มีความสามารถในการเรียกใช้คำสั่ง SQL select กับฐานข้อมูล คำสั่ง SQL สามารถใช้เพื่อดึงข้อมูลจากตารางเฉพาะในฐานข้อมูลได้
- การแทรกข้อมูลลงในฐานข้อมูล – ASP.NET ใช้สำหรับแทรกข้อมูลลงในฐานข้อมูล โดยจะระบุค่าสำหรับแต่ละแถวที่ต้องการแทรกในฐานข้อมูลใน ASP.NET
- การอัพเดตข้อมูลลงในฐานข้อมูล – ASP.NET ยังสามารถใช้ในการอัปเดตข้อมูลที่มีอยู่แล้วในฐานข้อมูลได้อีกด้วย โดยสามารถระบุค่าใหม่ใน ASP.NET สำหรับแต่ละแถวที่ต้องการอัปเดตลงในฐานข้อมูลได้
- การลบข้อมูลจากฐานข้อมูล – ASP.NET ยังสามารถใช้ในการลบข้อมูลจากฐานข้อมูลได้ด้วย โดยจะเขียนโค้ดเพื่อลบแถวข้อมูลเฉพาะแถวใดแถวหนึ่งออกจากฐานข้อมูล
เมื่อเราได้เรียนรู้ทฤษฎีของแต่ละการดำเนินการไปแล้ว ต่อไปเรามาดูวิธีการดำเนินการกับฐานข้อมูลใน ASP.NET กัน
การเชื่อมต่อฐานข้อมูล ASP.NET
ต่อไปนี้เราจะมาดูโค้ดที่จำเป็นต้องคงไว้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล ในตัวอย่างนี้ เราจะเชื่อมต่อกับฐานข้อมูลที่มีชื่อว่า Demodb ข้อมูลประจำตัวที่ใช้ในการเชื่อมต่อกับฐานข้อมูลมีดังต่อไปนี้:
- ชื่อผู้ใช้ – ส
- รหัสผ่าน – demo123
มาเริ่มใช้งานเว็บแอปพลิเคชันที่เราสร้างไว้ในส่วนก่อนหน้านี้กันเถอะ
- เริ่มเพิ่มการดำเนินการฐานข้อมูลลงไป
- ตัวอย่างของเรานี้แสดงให้เห็นถึงการสร้างการเชื่อมต่ออย่างง่าย การเชื่อมต่อนี้จะทำกับฐานข้อมูล Demodb เมื่อหน้าเว็บถูกเปิดใช้งานครั้งแรก
- เมื่อสร้างการเชื่อมต่อแล้ว ข้อความจะถูกส่งไปยังผู้ใช้ ข้อความจะระบุว่าได้ทำการเชื่อมต่อแล้ว
เรามาทำตามขั้นตอนด้านล่างนี้เพื่อบรรลุเป้าหมายนี้กัน
ขั้นตอน 1) ก่อนอื่น โปรดตรวจสอบให้แน่ใจว่าคุณได้เปิดเว็บแอปพลิเคชัน (DemoApplication) ใน Visual Studio แล้ว Double-คลิกไฟล์ demo.aspx.cs เพื่อป้อนโค้ดสำหรับการเชื่อมต่อฐานข้อมูล
ขั้นตอน 2) เพิ่มโค้ดด้านล่างซึ่งจะใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string connectionString; SqlConnection cnn; connectionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123"; cnn = new SqlConnection(connectionString); cnn.Open(); Response.Write("Connection Made"); cnn.Close(); } } }
Code คำอธิบาย:-
- ขั้นตอนแรกคือการสร้างตัวแปร ตัวแปรเหล่านี้จะถูกใช้ในการสร้างสตริงการเชื่อมต่อและการเชื่อมต่อกับฐานข้อมูล SQL Server
- ขั้นตอนต่อไปคือการสร้างสตริงการเชื่อมต่อ สตริงการเชื่อมต่อประกอบด้วยส่วนต่างๆ ดังต่อไปนี้:
- แหล่งข้อมูล – นี่คือชื่อของเซิร์ฟเวอร์ที่เก็บฐานข้อมูล ในกรณีของเรา ฐานข้อมูลอยู่บนเครื่องชื่อ WIN-50GP30FGO75
- แคตตาล็อกเริ่มต้นใช้สำหรับระบุชื่อของฐานข้อมูล
- รหัสผู้ใช้และรหัสผ่านเป็นข้อมูลประจำตัวที่จำเป็นสำหรับการเชื่อมต่อกับฐานข้อมูล
- ขั้นตอนต่อไป เราจะกำหนดสตริงการเชื่อมต่อให้กับตัวแปร cnn
- ตัวแปร cnn เป็นประเภท SqlConnection ใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล
- SqlConnection เป็นคลาสใน ASP.NET ที่ใช้สำหรับสร้างการเชื่อมต่อกับฐานข้อมูล
- ในการใช้งานคลาสนี้ คุณต้องสร้างอ็อบเจ็กต์ของคลาสนี้ก่อน ดังนั้น ในที่นี้เราจึงสร้างตัวแปรชื่อ cnn ซึ่งมีชนิดเป็น SqlConnection
- ถัดไป เราใช้เมธอด Open ของตัวแปร cnn เพื่อเปิดการเชื่อมต่อกับฐานข้อมูล เราแสดงข้อความให้ผู้ใช้ทราบว่าการเชื่อมต่อสำเร็จแล้ว โดยทำผ่านเมธอด Response.Write จากนั้นเราปิดการเชื่อมต่อกับฐานข้อมูล
เมื่อตั้งค่าโค้ดข้างต้นและเรียกใช้โปรเจ็กต์โดยใช้คำสั่งดังกล่าว Visual Studioคุณจะได้รับผลลัพธ์ดังต่อไปนี้ เมื่อแบบฟอร์มปรากฏขึ้น ให้คลิกปุ่มเชื่อมต่อ
ผลลัพธ์:-
ข้อความเอาท์พุตที่แสดงในเบราว์เซอร์จะแสดงให้เห็นว่าได้เชื่อมต่อกับฐานข้อมูลแล้ว
ASP.NET อ่านฐานข้อมูลโดยใช้ SqlDataReader
เพื่อแสดงข้อมูลที่เข้าถึงโดยใช้ ASP.NET เราจะสมมติว่ามีข้อมูลต่อไปนี้อยู่ในฐานข้อมูลของเรา
- ตารางชื่อ demotb นี้จะใช้สำหรับจัดเก็บ ID และชื่อของบทเรียนต่างๆ
- ตารางจะมีสองคอลัมน์ คอลัมน์หนึ่งชื่อ TutorialID และอีกคอลัมน์หนึ่งชื่อ TutorialName
- ในขณะนี้ตารางจะมีสองแถวดังแสดงด้านล่าง
| ID การสอน | ชื่อบทช่วยสอน |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
เรามาแก้ไขโค้ดเพื่อให้สามารถเรียกดูข้อมูลและแสดงข้อมูลนั้นบนหน้าเว็บได้โดยตรง โปรดทราบว่าโค้ดที่ป้อนเข้าไปนั้นเป็นส่วนต่อเนื่องจากโค้ดที่เขียนไว้สำหรับโมดูลการเชื่อมต่อข้อมูล
ขั้นตอน 1) เรามาแบ่งโค้ดออกเป็นสองส่วนกัน:
- ส่วนแรกคือการสร้างคำสั่ง SELECT ซึ่งจะใช้ในการอ่านข้อมูลจากฐานข้อมูล
- จากนั้นเราจะเรียกใช้คำสั่ง SELECT กับฐานข้อมูล ซึ่งจะดึงข้อมูลทุกแถวจากตารางมาให้
Code คำอธิบาย:-
- ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้:
- SqlCommand – SqlCommand เป็นคลาสที่นิยามไว้ในภาษา C# คลาสนี้ใช้สำหรับดำเนินการอ่านและเขียนข้อมูลลงในฐานข้อมูล
- วัตถุ DataReader ใช้เพื่อรับข้อมูลทั้งหมดที่ระบุโดยแบบสอบถาม SQL จากนั้นเราสามารถอ่านแถวตารางทั้งหมดได้ทีละแถวโดยใช้เครื่องอ่านข้อมูล
- จากนั้นเรากำหนดตัวแปรสตริงสองตัว ตัวแรกคือ sql เพื่อเก็บสตริงคำสั่ง SQL ของเรา ตัวถัดไปคือ Output ซึ่งจะเก็บค่าทั้งหมดในตาราง
- ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ในกรณีของเราคือ “Select TutorialID, TutorialName from demotb” คำสั่งนี้จะดึงข้อมูลทุกแถวจากตาราง demotb
- ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งที่ใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณต้องส่งผ่านวัตถุการเชื่อมต่อและสตริง SQL
- ขั้นตอนต่อไป เราจะเรียกใช้คำสั่งอ่านข้อมูล ซึ่งจะดึงข้อมูลทุกแถวจากตาราง demotb
- ตอนนี้เรามีข้อมูลทุกแถวของตารางแล้ว เราจึงต้องการกลไกในการเข้าถึงข้อมูลแต่ละแถวทีละแถว
- ด้วยเหตุนี้ เราจึงใช้คำสั่ง while เพื่อเข้าถึงแถวจากตัวอ่านข้อมูลทีละแถว
- จากนั้นเราใช้เมธอด GetValue เพื่อรับค่าของ TutorialID และ TutorialName
ขั้นตอน 2) ขั้นตอนสุดท้ายคือการแสดงผลลัพธ์ให้ผู้ใช้เห็น จากนั้นจึงปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการกับฐานข้อมูล
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand command; SqlDataReader dataReader; String sql, Output = " "; sql = "Select TutorialID,TutorialName from demotb"; command = new SqlCommand(sql, cnn); dataReader = command.ExecuteReader(); while (dataReader.Read()) { Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>"; } Response.Write(Output); dataReader.Close(); command.Dispose(); cnn.Close(); } } }
Code คำอธิบาย:-
- เราเขียนโค้ดต่อโดยแสดงค่าของตัวแปร Output โดยใช้เมธอด Response.Write
- สุดท้ายนี้ เราปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวปฏิบัติที่ดีเสมอ
เมื่อตั้งค่าโค้ดข้างต้นและรันโปรเจ็กต์โดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ดังต่อไปนี้
ผลลัพธ์:-
จากผลลัพธ์จะเห็นได้ชัดเจนว่าโปรแกรมสามารถรับค่าจากฐานข้อมูลได้ จากนั้นข้อมูลจะแสดงในเบราว์เซอร์ให้ผู้ใช้ดู
แทรกบันทึกฐานข้อมูลโดยใช้ InsertCommand
เช่นเดียวกับการเข้าถึงข้อมูล ASP.NET ก็มีความสามารถในการแทรกข้อมูลลงในฐานข้อมูลได้เช่นกัน ลองใช้โครงสร้างตารางเดียวกันนี้ในการแทรกข้อมูลดู
| ID การสอน | ชื่อบทช่วยสอน |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
เรามาแก้ไขโค้ดในแบบฟอร์มของเราเพื่อให้สามารถแทรกแถวต่อไปนี้ลงในตารางได้:
| ID การสอน | ชื่อบทช่วยสอน |
|---|---|
| 3 | VB.Net |
ขั้นตอน 1) ขั้นตอนแรก เรามาเพิ่มโค้ดต่อไปนี้ลงในโปรแกรมของเรา โค้ดส่วนนี้จะใช้สำหรับแทรกข้อมูลลงในฐานข้อมูลของเรา
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand command; SqlDataAdapter adapter = new SqlDataAdapter(); String sql = ""; sql = "Insert into demotb(TutorialID,TutorialName) values(3,'VB.Net')"; command = new SqlCommand(sql, cnn); adapter.InsertCommand = new SqlCommand(sql, cnn); adapter.InsertCommand.ExecuteNonQuery(); command.Dispose(); cnn.Close(); } } }
Code คำอธิบาย:-
- ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้:
- SqlCommand – ชนิดข้อมูลนี้ใช้สำหรับกำหนดอ็อบเจ็กต์ที่ดำเนินการคำสั่ง SQL กับฐานข้อมูล อ็อบเจ็กต์นี้จะเก็บคำสั่ง SQL ที่จะรันกับฐานข้อมูล SQL Server ของเรา
- อ็อบเจ็กต์ DataAdapter ใช้สำหรับดำเนินการคำสั่ง SQL ในการแทรก ลบ และอัปเดตข้อมูล
- จากนั้นเรากำหนดตัวแปรสตริงชื่อ sql เพื่อเก็บสตริงคำสั่ง SQL ของเรา
- ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ในกรณีของเรา เราจะใช้คำสั่งแทรกข้อมูล (insert) ซึ่งจะแทรกข้อมูลที่มี TutorialID=3 และ TutorialName=VB.Net เข้าไปในฐานข้อมูล
- ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งที่ใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณต้องส่งผ่านวัตถุการเชื่อมต่อและสตริง SQL
- ในคำสั่งอะแดปเตอร์ข้อมูลของเรา:
- เชื่อมโยงคำสั่ง insert SQL กับอะแด็ปเตอร์
- จากนั้นเรียกใช้เมธอด ExecuteNonQuery เมธอดนี้ใช้สำหรับดำเนินการคำสั่งแทรกข้อมูลลงในฐานข้อมูลของเรา
- เมธอด ExecuteNonQuery ถูกใช้ใน C# เพื่อออกคำสั่ง DML ใดๆ (การแทรก การลบ และการอัปเดต) กับฐานข้อมูล
- สุดท้ายนี้ เราปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวปฏิบัติที่ดีเสมอ
ขั้นตอน 2) ขั้นตอนที่สอง เราจะเพิ่มโค้ดเดียวกันกับในส่วนการเข้าถึงข้อมูล เพื่อแสดงข้อมูลตารางล่าสุดในเบราว์เซอร์ โดยเราจะเพิ่มโค้ดด้านล่างลงในไฟล์ demo.aspx.cs
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand command; SqlDataReader dataReader; String sql, Output = " "; sql = "Select TutorialID,TutorialName from demotb"; command = new SqlCommand(sql, cnn); dataReader = command.ExecuteReader(); while (dataReader.Read()) { Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>"; } Response.Write(Output); dataReader.Close(); command.Dispose(); cnn.Close(); } } }
เมื่อตั้งค่าโค้ดข้างต้นและรันโปรเจ็กต์ใน Visual Studio คุณจะได้รับผลลัพธ์ดังต่อไปนี้
ผลลัพธ์:-
ในหน้าต่างเบราว์เซอร์ คุณจะเห็นว่าข้อมูลแถวนั้นถูกแทรกเข้าไปในฐานข้อมูลเรียบร้อยแล้ว
อัปเดตบันทึกฐานข้อมูลโดยใช้ UpdateCommand
ASP.NET มีความสามารถในการอัปเดตข้อมูลที่มีอยู่แล้วในฐานข้อมูล เราจะใช้โครงสร้างตารางเดียวกันกับที่ใช้ในตัวอย่างข้างต้นเพื่อแทรกข้อมูล
| ID การสอน | ชื่อบทช่วยสอน |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
| 3 | VB.Net |
มาแก้ไขโค้ดในฟอร์มของเราเพื่อให้สามารถอัปเดตแถวต่อไปนี้ได้ ค่าในแถวเดิมคือ TutorialID เป็น 3 และ TutorialName เป็น VB.Net ซึ่งเราจะอัปเดตเป็น “VB.Net Complete” ในขณะที่ค่า TutorialID จะยังคงเหมือนเดิม
แถวเก่า
| ID การสอน | ชื่อบทช่วยสอน |
|---|---|
| 3 | VB.Net |
แถวใหม่
| ID การสอน | ชื่อบทช่วยสอน |
|---|---|
| 3 | VB.Net เสร็จสมบูรณ์ |
ขั้นตอน 1) ขั้นตอนแรก เรามาเพิ่มโค้ดต่อไปนี้ลงในโปรแกรมของเรา โค้ดส่วนนี้จะใช้เพื่ออัปเดตข้อมูลที่มีอยู่แล้วในฐานข้อมูลของเรา
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand command; SqlDataAdapter adapter = new SqlDataAdapter(); String sql = ""; sql = "Update demotb set TutorialName='VB.Net Complete' where TutorialID=3"; command = new SqlCommand(sql, cnn); adapter.InsertCommand = new SqlCommand(sql, cnn); adapter.InsertCommand.ExecuteNonQuery(); command.Dispose(); cnn.Close(); } } }
Code คำอธิบาย:-
- ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้:
- SqlCommand – ชนิดข้อมูลนี้ใช้สำหรับกำหนดอ็อบเจ็กต์เพื่อดำเนินการคำสั่ง SQL กับฐานข้อมูล อ็อบเจ็กต์นี้จะเก็บคำสั่ง SQL ที่จะรันกับฐานข้อมูล SQL Server ของเรา
- อ็อบเจ็กต์ DataAdapter ใช้สำหรับดำเนินการคำสั่ง SQL ในการแทรก ลบ และอัปเดตข้อมูล
- จากนั้นเรากำหนดตัวแปรสตริงชื่อ sql เพื่อเก็บสตริงคำสั่ง SQL ของเรา
- ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ในกรณีของเรา เราจะใช้คำสั่งอัปเดต ซึ่งจะอัปเดต TutorialName เป็น “VB.Net Complete” ส่วน TutorialID จะยังคงไม่เปลี่ยนแปลง และมีค่าเป็น 3
- ขั้นตอนต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่ง ซึ่งใช้สำหรับเรียกใช้คำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณจะต้องส่งอ็อบเจ็กต์การเชื่อมต่อและสตริง SQL เข้าไป
- ในคำสั่ง Data Adapter ของเรา เราจะเชื่อมโยงคำสั่ง SQL เข้ากับ Adapter จากนั้นเราจะเรียกใช้เมธอด ExecuteNonQuery ซึ่งใช้ในการดำเนินการคำสั่งอัปเดตกับฐานข้อมูลของเรา
- สุดท้ายนี้ เราปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวปฏิบัติที่ดีเสมอ
ขั้นตอน 2) ขั้นตอนที่สอง เราจะเพิ่มโค้ดเดียวกันกับในส่วนการเข้าถึงข้อมูล เพื่อแสดงข้อมูลตารางล่าสุดในเบราว์เซอร์ โดยเราจะเพิ่มโค้ดด้านล่างนี้
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand command; SqlDataReader dataReader; String sql, Output = " "; sql = "Select TutorialID,TutorialName from demotb"; command = new SqlCommand(sql, cnn); dataReader = command.ExecuteReader(); while (dataReader.Read()) { Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>"; } Response.Write(Output); dataReader.Close(); command.Dispose(); cnn.Close(); } } }
เมื่อตั้งค่าโค้ดข้างต้นและรันโปรเจ็กต์โดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ดังต่อไปนี้
ผลลัพธ์:-
ในหน้าต่างเบราว์เซอร์ คุณจะเห็นว่าข้อมูลในแถวนั้นได้รับการอัปเดตในฐานข้อมูลเรียบร้อยแล้ว
ลบบันทึกฐานข้อมูลโดยใช้ DeleteCommand
ASP.NET สามารถลบข้อมูลที่มีอยู่แล้วออกจากฐานข้อมูลได้ เราจะใช้โครงสร้างตารางเดียวกันกับที่ใช้ในตัวอย่างข้างต้นเพื่อลบข้อมูล
| ID การสอน | ชื่อบทช่วยสอน |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
| 3 | VB.Net เสร็จสมบูรณ์ |
เรามาแก้ไขโค้ดในแบบฟอร์มของเราเพื่อให้สามารถลบแถวต่อไปนี้ได้:
| ID การสอน | ชื่อบทช่วยสอน |
|---|---|
| 3 | VB.Net เสร็จสมบูรณ์ |
ขั้นตอน 1) ขั้นตอนแรก เรามาเพิ่มโค้ดต่อไปนี้ลงในโปรแกรมของเรา โค้ดส่วนนี้จะใช้สำหรับลบข้อมูลที่มีอยู่แล้วในฐานข้อมูลของเรา
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand command; SqlDataAdapter adapter = new SqlDataAdapter(); String sql = ""; sql = "Delete demotb where TutorialID=3"; command = new SqlCommand(sql, cnn); adapter.DeleteCommand = new SqlCommand(sql, cnn); adapter.DeleteCommand.ExecuteNonQuery(); command.Dispose(); cnn.Close(); } } }
Code คำอธิบาย:-
- ความแตกต่างที่สำคัญในโค้ดนี้คือ ตอนนี้เราใช้คำสั่ง SQL ลบแล้ว คำสั่งลบนี้ใช้เพื่อลบแถวในตาราง demotb ที่มีค่า TutorialID เท่ากับ 3
- ในคำสั่งอะแดปเตอร์ข้อมูลของเรา เราได้เชื่อมโยงคำสั่ง SQL ลบเข้ากับอะแดปเตอร์ของเรา นอกจากนี้ เรายังเรียกใช้เมธอด ExecuteNonQuery ซึ่งใช้ในการดำเนินการคำสั่งลบกับฐานข้อมูลของเรา
ขั้นตอน 2) ขั้นตอนที่สอง เราจะเพิ่มโค้ดเดียวกันกับในส่วนการเข้าถึงข้อมูล เพื่อแสดงข้อมูลตารางล่าสุดในเบราว์เซอร์ โดยเราจะเพิ่มโค้ดด้านล่างนี้
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand command; SqlDataReader dataReader; String sql, Output = " "; sql = "Select TutorialID,TutorialName from demotb"; command = new SqlCommand(sql, cnn); dataReader = command.ExecuteReader(); while (dataReader.Read()) { Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>"; } Response.Write(Output); dataReader.Close(); command.Dispose(); cnn.Close(); } } }
เมื่อตั้งค่าโค้ดข้างต้นและรันโปรเจ็กต์โดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ดังต่อไปนี้
ผลลัพธ์:-
การเชื่อมต่อคอนโทรล ASP.NET กับข้อมูล
เราได้เห็นวิธีการใช้คำสั่ง ASP.NET เช่น SqlCommand และ SqlDataReader เพื่อดึงข้อมูลจากฐานข้อมูลแล้ว นอกจากนี้เรายังได้เห็นวิธีการอ่านแต่ละแถวของตารางและแสดงผลบนหน้าเว็บอีกด้วย
มีวิธีการเชื่อมโยงคอนโทรลต่างๆ เข้ากับฟิลด์ต่างๆ ในตารางได้โดยตรง ในขณะนี้ สามารถผูกคอนโทรลต่อไปนี้กับแอปพลิเคชัน ASP.NET ได้เท่านั้น:
- ตรวจสอบBoxรายการ
- RadioButtonList
- รายการดรอปดาวน์
- รายการBox
มาดูตัวอย่างการใช้ Control Binding ใน ASP.NET กัน ในที่นี้เราจะใช้ List เป็นตัวอย่างBox ตัวอย่างเช่น สมมติว่าเรามีข้อมูลต่อไปนี้ในฐานข้อมูลของเรา
| ID การสอน | ชื่อบทช่วยสอน |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
| 3 | VB.Net เสร็จสมบูรณ์ |
ให้เราใช้รายการBox ควบคุมและดูว่ามันสามารถดึงข้อมูลจากตาราง demotb ของเราโดยอัตโนมัติได้อย่างไร มาลองทำตามขั้นตอนด้านล่างนี้กัน
ขั้นตอน 1) สร้างแบบฟอร์มเว็บพื้นฐาน จากกล่องเครื่องมือใน Visual Studio ให้ลากและวางส่วนประกอบ 2 ชิ้น ได้แก่ ป้ายกำกับและรายการBoxใช่ จากนั้นให้ดำเนินการตามขั้นตอนย่อยต่อไปนี้:
- กำหนดค่าข้อความของป้ายกำกับแรกเป็น TutorialID
- กำหนดค่าข้อความของป้ายกำกับที่สองเป็น TutorialName
ด้านล่างนี้คือลักษณะของแบบฟอร์มหลังจากดำเนินการตามขั้นตอนข้างต้นแล้ว
ขั้นตอน 2) ขั้นตอนต่อไปคือการเริ่มเชื่อมต่อแต่ละรายการเข้าด้วยกันBox ไปยังตารางฐานข้อมูล
- ขั้นแรก คลิกที่รายการBox สำหรับ TutorialID นี้ จะแสดงกล่องโต้ตอบอีกกล่องหนึ่งทางด้านข้างของตัวควบคุม
- จากกล่องโต้ตอบ ให้คลิกที่ตัวเลือก "เลือกแหล่งข้อมูล"
ขั้นตอน 3) จากนั้นคุณจะเห็นกล่องโต้ตอบ คุณสามารถใช้กล่องโต้ตอบนี้เพื่อสร้างแหล่งข้อมูลใหม่ แหล่งข้อมูลนี้จะแสดงถึงการเชื่อมต่อกับฐานข้อมูล เลือกตัวเลือก "แหล่งข้อมูลใหม่"
ขั้นตอน 4) หน้าจอด้านล่างจะได้รับแจ้งหลังจากเลือกแหล่งข้อมูลใหม่ในขั้นตอนสุดท้าย ที่นี่เราต้องพูดถึงประเภทของแหล่งข้อมูลที่เราต้องการสร้าง
- เลือกตัวเลือกฐานข้อมูลเพื่อทำงานกับฐานข้อมูล SQL Server
- ตอนนี้เราต้องตั้งชื่อให้กับแหล่งข้อมูลของเรา ที่นี่เราจะตั้งชื่อเป็น DemoDataSource
- สุดท้าย เราคลิกปุ่ม OK เพื่อไปยังหน้าจอถัดไป
ขั้นตอน 5) ตอนนี้เราจำเป็นต้องสร้างการเชื่อมต่อกับฐานข้อมูลของเรา ในหน้าจอถัดไป ให้คลิกที่ปุ่ม "สร้างการเชื่อมต่อใหม่"
ขั้นตอน 6) ถัดไปคุณจะต้องเพิ่มข้อมูลรับรองเพื่อเชื่อมต่อกับฐานข้อมูล
- เลือกชื่อเซิร์ฟเวอร์ที่ติดตั้ง SQL Server อยู่
- ป้อนรหัสผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับฐานข้อมูล
- เลือกฐานข้อมูลเป็น demotb
- คลิกปุ่มตกลง
ขั้นตอน 7) ในหน้าจอถัดไป คุณจะเห็นตาราง demotb เพียงคลิกปุ่มถัดไปเพื่อยอมรับการตั้งค่าเริ่มต้น
ขั้นตอน 8) ตอนนี้คุณสามารถทดสอบการเชื่อมต่อได้ในหน้าจอถัดไป
- คลิกที่ปุ่ม "ทดสอบแบบสอบถาม" เพื่อตรวจสอบว่าคุณสามารถดึงค่าจากตารางได้หรือไม่
- คลิกปุ่มเสร็จสิ้นเพื่อดำเนินการตัวช่วยสร้างให้เสร็จสมบูรณ์
ขั้นตอน 9) ในหน้าจอสุดท้ายนี้ คุณสามารถคลิกปุ่ม OK ได้เลย ขั้นตอนนี้จะทำการเชื่อมโยงรายการ TutorialID เข้ากับระบบBox ไปยังชื่อฟิลด์ TutorialID ในตาราง demotb
ขั้นตอน 10) ตอนนี้ถึงเวลาผูกรายการ TutorialName แล้วBox ไปยังช่อง TutorialName
- ขั้นแรก คลิกที่รายการ TutorialNameBox.
- ถัดไป ให้เลือกแหล่งข้อมูลในกล่องโต้ตอบที่ปรากฏขึ้นทางด้านข้างของรายการBox.
ขั้นตอน 11) คุณจะเห็น DemoDataSource แล้วเมื่อเลือกแหล่งข้อมูลในหน้าจอถัดไป
- เลือกแหล่งข้อมูลสาธิต (DemoDataSource)
- คลิกที่ปุ่มตกลง
หากดำเนินการตามขั้นตอนข้างต้นทั้งหมดดังที่แสดง คุณจะได้รับผลลัพธ์ตามที่ระบุไว้ด้านล่าง
ผลลัพธ์:-
จากผลลัพธ์ คุณจะเห็นว่ารายการ (List)Boxจะแสดง TutorialID และ TutorialName ตามลำดับ




























