แทรก อัปเดต ลบ: บทช่วยสอนการเชื่อมต่อฐานข้อมูล ASP.NET
การเข้าถึงข้อมูลจากฐานข้อมูลเป็นสิ่งสำคัญของภาษาการเขียนโปรแกรมใดๆ จำเป็นที่ภาษาการเขียนโปรแกรมใดๆ จะต้องมีความสามารถในการทำงานกับฐานข้อมูลได้
ASP.Net มีความสามารถในการทำงานกับฐานข้อมูลประเภทต่างๆ สามารถทำงานร่วมกับฐานข้อมูลทั่วไปเช่น Oracle และ Microsoft SQL เซิร์ฟเวอร์
อีกทั้งยังมีความสามารถในการทำงานกับฐานข้อมูลรูปแบบใหม่ๆ เช่น MongoDB และ MySQL.
พื้นฐานของการเชื่อมต่อฐานข้อมูล
ASP.Net มีความสามารถในการทำงานกับฐานข้อมูลส่วนใหญ่ สิ่งมีชีวิตที่พบบ่อยที่สุด Oracle และ Microsoft SQL Server- แต่ในทุกฐานข้อมูล ตรรกะเบื้องหลังการทำงานกับฐานข้อมูลทั้งหมดส่วนใหญ่จะเหมือนกัน
ในตัวอย่างของเรา เราจะดูการทำงานกับ Microsoft SQL Server เป็นฐานข้อมูลของเรา เพื่อวัตถุประสงค์ในการเรียนรู้ สามารถดาวน์โหลดและใช้งานได้ Microsoft SQL Server ฉบับด่วน. นี่เป็นซอฟต์แวร์ฐานข้อมูลฟรีที่จัดทำโดย Microsoft.
ในการทำงานกับฐานข้อมูล แนวคิดต่อไปนี้จะเหมือนกันในทุกฐานข้อมูล
- การเชื่อมต่อ – ในการทำงานกับข้อมูลในฐานข้อมูล ขั้นตอนแรกที่ชัดเจนคือการเชื่อมต่อ การเชื่อมต่อกับฐานข้อมูลโดยปกติจะประกอบด้วยพารามิเตอร์ที่กล่าวถึงด้านล่าง
- ชื่อฐานข้อมูลหรือแหล่งข้อมูล – พารามิเตอร์ที่สำคัญตัวแรกคือชื่อฐานข้อมูล การเชื่อมต่อแต่ละครั้งสามารถทำงานได้กับฐานข้อมูลครั้งละหนึ่งฐานข้อมูลเท่านั้น
- หนังสือรับรอง – สิ่งสำคัญถัดไปคือ 'ชื่อผู้ใช้' และ 'รหัสผ่าน' ใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล
- พารามิเตอร์เสริม – คุณสามารถระบุพารามิเตอร์ทางเลือกว่า .net ควรจัดการการเชื่อมต่อกับฐานข้อมูลอย่างไร ตัวอย่างเช่น เราสามารถระบุพารามิเตอร์สำหรับระยะเวลาที่การเชื่อมต่อควรใช้งานได้
- การเลือกข้อมูลจากฐานข้อมูล – เมื่อสร้างการเชื่อมต่อแล้ว ข้อมูลจะถูกดึงมาจากฐานข้อมูล ASP.Net มีความสามารถในการรันคำสั่งเลือก 'sql' กับฐานข้อมูล คำสั่ง '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 connetionString; SqlConnection cnn; connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb ;User ID=sa;Password=demol23"; cnn = new SqlConnection(connetionString); cnn.Open(); Response.Write("Connection MAde"); conn.Close(); } } }
คำอธิบายรหัส:-
- ขั้นตอนแรกคือการสร้างตัวแปร มันจะถูกใช้เพื่อสร้างสตริงการเชื่อมต่อและการเชื่อมต่อกับฐานข้อมูล SQL Server
- ขั้นตอนต่อไปคือการสร้างสตริงการเชื่อมต่อ สตริงการเชื่อมต่อประกอบด้วยส่วนต่างๆ ต่อไปนี้
- แหล่งข้อมูล – นี่คือชื่อของเซิร์ฟเวอร์ที่มีฐานข้อมูลอยู่ ในกรณีของเรา มันอยู่บนเครื่องชื่อ WIN- 50GP30FGO75
- Initial Catalog ใช้เพื่อระบุชื่อของฐานข้อมูล
- UserID และรหัสผ่านเป็นข้อมูลรับรองที่จำเป็นในการเชื่อมต่อกับฐานข้อมูล
- ต่อไป เราจะกำหนดสตริงการเชื่อมต่อให้กับตัวแปร 'cnn'
- ตัวแปร cnn เป็นประเภท SqlConnection ใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล
- SqlConnection เป็นคลาสใน ASP.Net ซึ่งใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล
- หากต้องการใช้คลาสนี้ คุณต้องสร้างอ็อบเจ็กต์ของคลาสนี้ก่อน ดังนั้นเราจึงสร้างตัวแปรชื่อ 'cnn' ซึ่งเป็นประเภท SqlConnection
- ต่อไปเราใช้วิธีเปิดของตัวแปร CNN เพื่อเปิดการเชื่อมต่อกับฐานข้อมูล เราแสดงข้อความให้ผู้ใช้ทราบว่ามีการเชื่อมต่อแล้ว ซึ่งทำได้โดยใช้วิธี 'response.write' จากนั้นเราก็ปิดการเชื่อมต่อกับฐานข้อมูล
เมื่อโค้ดข้างต้นถูกตั้งค่า และโปรเจ็กต์ถูกดำเนินการโดยใช้ Visual Studioคุณจะได้รับผลลัพธ์ดังต่อไปนี้ เมื่อแบบฟอร์มปรากฏขึ้น ให้คลิกปุ่มเชื่อมต่อ
ผลลัพธ์:-
ข้อความเอาท์พุตที่แสดงในเบราว์เซอร์จะแสดงให้เห็นว่าได้เชื่อมต่อกับฐานข้อมูลแล้ว
ASP.NET อ่านฐานข้อมูลโดยใช้ SqlDataReader
เพื่อแสดงข้อมูลที่เข้าถึงโดยใช้ Asp.Net เราสมมติว่ามีสิ่งประดิษฐ์ต่อไปนี้ในฐานข้อมูลของเรา
- ตารางที่เรียกว่า demotb ตารางนี้จะใช้ในการจัดเก็บ ID และชื่อของบทช่วยสอนต่างๆ
- ตารางจะมีสองคอลัมน์ คอลัมน์แรกเรียกว่า "TutorialID" และอีกคอลัมน์เรียกว่า "TutorialName"
- ในขณะนี้ตารางจะมีสองแถวดังแสดงด้านล่าง
ID การสอน | ชื่อบทช่วยสอน |
---|---|
1 | C# |
2 | ASP.Net |
มาเปลี่ยนโค้ดเพื่อให้เราสามารถสืบค้นข้อมูลนี้และแสดงข้อมูลบนหน้าเว็บได้ โปรดทราบว่ารหัสที่ป้อนจะต่อเนื่องกับรหัสที่เขียนสำหรับโมดูลการเชื่อมต่อข้อมูล
ขั้นตอน 1) ลองแบ่งรหัสออกเป็นสองส่วน
- ส่วนแรกคือการสร้างคำสั่ง "select" ของเรา มันจะใช้ในการอ่านข้อมูลจากฐานข้อมูล
- จากนั้นเราจะดำเนินการคำสั่ง "select" กับฐานข้อมูล สิ่งนี้จะดึงแถวตารางทั้งหมดตามลำดับ
คำอธิบายรหัส:-
- ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้
- SQLCommand – 'SQLCommand' เป็นคลาสที่กำหนดไว้ใน C# คลาสนี้ใช้สำหรับดำเนินการอ่านและเขียนลงในฐานข้อมูล ดังนั้น ขั้นตอนแรกคือต้องแน่ใจว่าเราสร้างตัวแปรประเภทหนึ่งของคลาสนี้ ตัวแปรนี้จะถูกนำไปใช้ในขั้นตอนต่อไปของการอ่านข้อมูลจากฐานข้อมูลของเรา
- วัตถุ DataReader ใช้เพื่อรับข้อมูลทั้งหมดที่ระบุโดยแบบสอบถาม SQL จากนั้นเราสามารถอ่านแถวตารางทั้งหมดได้ทีละแถวโดยใช้เครื่องอ่านข้อมูล
- จากนั้นเราจะกำหนดตัวแปรสตริงสองตัว หนึ่งคือ “SQL” เพื่อเก็บสตริงคำสั่ง SQL ของเรา ถัดไปคือ "เอาต์พุต" ซึ่งจะมีค่าตารางทั้งหมด
- ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL จริงๆ สิ่งนี้จะถูกใช้กับฐานข้อมูลของเรา ในกรณีของเรา มันคือ “เลือก TutorialID, TutorialName จาก demotb” นี่จะดึงแถวทั้งหมดจากตาราง demotb
- ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งที่ใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณต้องส่งผ่านวัตถุการเชื่อมต่อและสตริง SQL
- ต่อไป เราจะรันคำสั่ง data reader ซึ่งจะดึงแถวทั้งหมดจากตาราง demotb
- ตอนนี้เรามีแถวทั้งหมดของตารางอยู่กับเราแล้ว เราจำเป็นต้องมีกลไกในการเข้าถึงแถวทีละแถว
- สำหรับสิ่งนี้ เราจะใช้คำสั่ง ' while'
- คำสั่ง ' 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 = sqlquery.ExecuteReader(); while (dataReader.Read()) { Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>"; } Response.Write(Output); dataReader.Close(); command.dispose(); conn.Close(); } } }
คำอธิบายรหัส:-
- เราจะเขียนโค้ดต่อไปโดยแสดงค่าของตัวแปร 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) value(3, '" + "VB.Net +"')"; command = new SqlCommand(sql,cnn); adapter.InsertCommand = new SqlCommand(sql,cnn); adapter.InsertCommand.ExecuteNonQuery(); command.Dispose(): cnn.Close(); } } }
คำอธิบายรหัส:-
- ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้
- SQLCommand – ประเภทข้อมูลนี้ใช้เพื่อกำหนดวัตถุ วัตถุเหล่านี้ดำเนินการ SQL กับฐานข้อมูล วัตถุนี้จะเก็บคำสั่ง SQL ที่จะทำงานกับฐานข้อมูล SQL Server ของเรา
- วัตถุ DataAdapter ใช้ในการแทรก ลบ และอัปเดตคำสั่ง SQL
- จากนั้นเราจะกำหนดตัวแปรสตริงซึ่งก็คือ "SQL" เพื่อเก็บสตริงคำสั่ง SQL ของเรา
- ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ซึ่งจะใช้กับฐานข้อมูลของเรา ในกรณีของเรา เรากำลังออกคำสั่งแทรก ซึ่งจะแทรกบันทึกของ TutorialID=3 และ TutorialName=VB.Net
- ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งที่ใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณต้องส่งผ่านวัตถุการเชื่อมต่อและสตริง SQL
- ในคำสั่งอะแดปเตอร์ข้อมูลของเรา
- เชื่อมโยงคำสั่ง insert SQL กับอะแด็ปเตอร์
- จากนั้นออกวิธี 'ExecuteNonQuery' ใช้เพื่อดำเนินการคำสั่ง Insert กับฐานข้อมูลของเรา
- มีการใช้เมธอด 'ExecuteNonQuery' C# เพื่อออกคำสั่ง DML ใดๆ (การแทรก การลบ และการอัปเดต) กับฐานข้อมูล
- หากต้องการออกคำสั่งตารางใด ๆ ใน ASP.Net เราจำเป็นต้องใช้วิธี 'ExecuteNonQuery'
- ในที่สุดเราก็ปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวทางปฏิบัติที่ดีเสมอ
ขั้นตอน 2) สำหรับขั้นตอนที่ 2 ให้เพิ่มโค้ดเดียวกันกับในส่วนการเข้าถึงข้อมูล นี่คือการแสดงข้อมูลตารางล่าสุดในเบราว์เซอร์ เพื่อสิ่งนั้น เราจะเพิ่มโค้ดด้านล่างลงในไฟล์ demo.aspx.cs
namespace DemoApplication { public partial class Demo System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand sqlquery; SqlDataReader dataReader; String Output =" "; sql = "Select TutorialID,TutorialName from demotb"; sqlquery = 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(); conn.Close(); } } }
เมื่อตั้งค่าโค้ดด้านบนแล้วและดำเนินการโครงการใน Visual Studio คุณจะได้ผลลัพธ์ด้านล่างนี้
ผลลัพธ์:-
ในหน้าต่างเบราว์เซอร์ คุณจะเห็นว่าแถวถูกแทรกลงในฐานข้อมูลเรียบร้อยแล้ว
อัปเดตบันทึกฐานข้อมูลโดยใช้ UpdateCommand
ASP.Net มีความสามารถในการอัปเดตบันทึกที่มีอยู่จากฐานข้อมูล ลองใช้โครงสร้างตารางแบบเดียวกับที่ใช้ด้านบนเป็นตัวอย่างในการแทรกบันทึก
ID การสอน | ชื่อบทช่วยสอน |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net |
มาเปลี่ยนโค้ดในฟอร์มของเราเพื่อให้สามารถอัปเดตแถวถัดไปได้ โดยค่าแถวเดิมคือ TutorialID เป็น “3” และ Tutorial Name เป็น “VB.Net” ซึ่งเราจะอัปเดตเป็น “VB.Net complete” ในขณะที่ค่าแถวสำหรับ Tutorial ID จะยังคงเหมือนเดิม
แถวเก่า
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(); } } }
คำอธิบายรหัส:-
- ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้
- SQLCommand – ประเภทข้อมูลนี้ใช้เพื่อกำหนดอ็อบเจ็กต์เพื่อดำเนินการ SQL กับฐานข้อมูล อ็อบเจ็กต์นี้จะเก็บคำสั่ง SQL ที่จะทำงานกับฐานข้อมูล SQL Server ของเรา
- อ็อบเจ็กต์ dataadapter ใช้เพื่อแทรก ลบ และอัพเดตคำสั่ง SQL
- จากนั้นเราจะกำหนดตัวแปรสตริง ซึ่งก็คือ SQL เพื่อเก็บสตริงคำสั่ง SQL ของเรา
- ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ที่จะใช้กับฐานข้อมูลของเรา ในกรณีของเรา เรากำลังออกแถลงการณ์ 'อัปเดต' สิ่งนี้จะอัปเดตชื่อบทช่วยสอนเป็น “VB.Net Complete” TutorialID จะยังคงไม่เปลี่ยนแปลง และค่าจะเป็น 3
- ต่อไปเราจะสร้างวัตถุคำสั่ง ใช้เพื่อดำเนินการคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณได้ส่งผ่านอ็อบเจ็กต์การเชื่อมต่อและสตริง SQL แล้ว
- ในคำสั่งอะแดปเตอร์ข้อมูลของเรา ตอนนี้เราเชื่อมโยงคำสั่ง insert SQL กับอะแดปเตอร์ของเราแล้ว จากนั้นเราจะออกวิธี ExecuteNonQuery ใช้เพื่อดำเนินการคำสั่ง Update กับฐานข้อมูลของเรา
- ในที่สุดเราก็ปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวทางปฏิบัติที่ดีเสมอ
ขั้นตอน 2) สำหรับขั้นตอนที่ 2 ให้เพิ่มโค้ดเดียวกันกับในส่วนการเข้าถึงข้อมูล นี่คือการแสดงข้อมูลตารางล่าสุดในเบราว์เซอร์ เพื่อสิ่งนั้นเราจะเพิ่มโค้ดด้านล่าง
namespace DemoApplication { public partial class Demo System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand sqlquery; SqlDataReader dataReader; String Output =" "; sql = "Select TutorialID,TutorialName from demotb"; sqlquery = 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(); conn.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(); } } }
คำอธิบายรหัส:-
- ข้อแตกต่างที่สำคัญในโค้ดนี้คือขณะนี้เรากำลังออกคำสั่ง Delete SQL คำสั่งลบใช้เพื่อลบแถวในตาราง demotb ซึ่ง TutorialID มีค่าเป็น 3
- ในคำสั่งอะแดปเตอร์ข้อมูลของเรา ตอนนี้เราเชื่อมโยงคำสั่ง insert SQL กับอะแดปเตอร์ของเราแล้ว นอกจากนี้เรายังออกเมธอด 'ExecuteNonQuery' ซึ่งใช้ในการดำเนินการคำสั่งลบกับฐานข้อมูลของเรา
ขั้นตอน 2) สำหรับขั้นตอนที่ 2 ให้เพิ่มโค้ดเดียวกันกับในส่วนการเข้าถึงข้อมูล นี่คือการแสดงข้อมูลตารางล่าสุดในเบราว์เซอร์ เพื่อสิ่งนั้นเราจะเพิ่มโค้ดด้านล่าง
namespace DemoApplication { public partial class Demo System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlCommand sqlquery; SqlDataReader dataReader; String Output =""; sql = "Select TutorialID,TutorialName from demotb"; sqlquery = 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(); conn.Close(); } } }
เมื่อตั้งค่าโค้ดข้างต้นแล้ว และดำเนินการโครงการโดยใช้ Visual Studio คุณจะได้ผลลัพธ์ด้านล่างนี้
ผลลัพธ์:-
การเชื่อมต่อการควบคุม Asp.net กับข้อมูล
เราได้เห็นวิธีที่เราสามารถใช้คำสั่ง ASP.Net เช่น SQLCommand และ SQLReader เพื่อดึงข้อมูลจากฐานข้อมูล นอกจากนี้เรายังได้เห็นว่าเราสามารถอ่านตารางแต่ละแถวที่แสดงบนหน้าเว็บได้อย่างไร
มีวิธีการที่ใช้เพื่อเชื่อมโยงการควบคุมไปยังฟิลด์ต่างๆ ในตารางได้โดยตรง ในขณะนี้ เฉพาะส่วนควบคุมด้านล่างเท่านั้นที่สามารถเชื่อมโยงกับแอปพลิเคชัน ASP.Net
- รายการช่องกาเครื่องหมาย
- RadioButtonList
- ดรอปดาวน์ลิสต์
- กล่องรายการ
มาดูตัวอย่างการใช้ control binding ใน ASP.Net กัน ในที่นี้เราจะยกตัวอย่าง listbox สมมติว่าเรามีข้อมูลต่อไปนี้ในฐานข้อมูลของเรา
ID การสอน | ชื่อบทช่วยสอน |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net เสร็จสมบูรณ์ |
มาใช้ตัวควบคุม Listbox และดูว่ามันหยิบข้อมูลจากตาราง Demotb ของเราโดยอัตโนมัติได้อย่างไร
มาทำตามขั้นตอนที่กล่าวถึงด้านล่างเพื่อให้บรรลุเป้าหมายนี้
ขั้นตอน 1) สร้างแบบฟอร์มเว็บพื้นฐาน จากกล่องเครื่องมือใน Visual Studio ลากและวางส่วนประกอบ 2 ส่วน ได้แก่ ป้ายชื่อและกล่องรายการ จากนั้นดำเนินการตามขั้นตอนย่อยต่อไปนี้
- ใส่ค่าข้อความของป้ายกำกับแรกเป็น TutorialID
- ใส่ค่าข้อความของป้ายกำกับที่สองเป็น TutorialName
ด้านล่างนี้คือลักษณะของแบบฟอร์มเมื่อดำเนินการตามขั้นตอนข้างต้นแล้ว
ขั้นตอน 2) ขั้นตอนถัดไปคือเริ่มเชื่อมต่อแต่ละรายการกล่องกับตารางฐานข้อมูล
- ขั้นแรก ให้คลิกที่ Listbox สำหรับรหัสการสอน กล่องโต้ตอบอีกกล่องจะปรากฏขึ้นที่ด้านข้างของตัวควบคุม
- จากกล่องโต้ตอบ เราต้องคลิกที่ตัวเลือกเลือกแหล่งข้อมูล
ขั้นตอน 3) จากนั้นกล่องโต้ตอบจะปรากฏขึ้น ซึ่งคุณสามารถใช้เพื่อสร้างแหล่งข้อมูลใหม่ได้ แหล่งข้อมูลจะแสดงการเชื่อมต่อกับฐานข้อมูล เลือกตัวเลือก 'แหล่งข้อมูลใหม่'
ขั้นตอน 4) หน้าจอด้านล่างจะได้รับแจ้งหลังจากเลือกแหล่งข้อมูลใหม่ในขั้นตอนสุดท้าย ที่นี่เราต้องพูดถึงประเภทของแหล่งข้อมูลที่เราต้องการสร้าง
- เลือกตัวเลือกฐานข้อมูลเพื่อทำงานกับฐานข้อมูล SQL Server
- ตอนนี้เราต้องตั้งชื่อให้กับแหล่งข้อมูลของเรา ที่นี่เราจะตั้งชื่อเป็น DemoDataSource
- สุดท้ายเราคลิกปุ่ม 'ตกลง' เพื่อไปยังหน้าจอถัดไป
ขั้นตอน 5) ตอนนี้เราจำเป็นต้องสร้างการเชื่อมต่อกับฐานข้อมูลของเรา ในหน้าจอถัดไป คลิกที่ปุ่มการเชื่อมต่อใหม่
ขั้นตอน 6) ถัดไปคุณจะต้องเพิ่มข้อมูลรับรองเพื่อเชื่อมต่อกับฐานข้อมูล
- เลือกชื่อเซิร์ฟเวอร์ที่มี SQL Server อยู่
- กรอก ID ผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับฐานข้อมูล
- เลือกฐานข้อมูลเป็น 'demotb'
- คลิกปุ่ม 'ตกลง'
ขั้นตอน 7) ในหน้าจอถัดไป คุณจะเห็นตาราง Demotb เพียงคลิกที่ปุ่มถัดไปเพื่อยอมรับการตั้งค่าเริ่มต้น
ขั้นตอน 8) ตอนนี้คุณสามารถทดสอบการเชื่อมต่อได้ในหน้าจอถัดไป
- คลิกที่ปุ่มทดสอบแบบสอบถามเพื่อดูว่าคุณสามารถรับค่าจากตารางได้หรือไม่
- คลิกปุ่มเสร็จสิ้นเพื่อดำเนินการตัวช่วยสร้างให้เสร็จสมบูรณ์
ขั้นตอน 9) ตอนนี้ในหน้าจอสุดท้าย คุณสามารถคลิกปุ่ม 'ตกลง' ได้ การดำเนินการนี้จะเชื่อมโยงกล่องรายการ TutorialID กับชื่อฟิลด์ TutorialID ในตาราง 'demotb'
ขั้นตอน 10) ตอนนี้ถึงเวลาที่จะผูกกล่องรายการชื่อบทช่วยสอนเข้ากับฟิลด์ชื่อบทช่วยสอนแล้ว
- ขั้นแรก ให้คลิกที่กล่องรายการชื่อบทช่วยสอน
- ขั้นตอนต่อไป เลือกจากแหล่งข้อมูลในกล่องโต้ตอบที่ปรากฏที่ด้านข้างของกล่องรายการ
ขั้นตอน 11) คุณจะเห็น DemoDataSource แล้วเมื่อเลือกแหล่งข้อมูลในหน้าจอถัดไป
- เลือกแหล่งข้อมูลสาธิต
- คลิกที่ปุ่มตกลง
หากดำเนินการตามขั้นตอนข้างต้นทั้งหมดดังที่แสดง คุณจะได้รับผลลัพธ์ตามที่ระบุไว้ด้านล่าง
ผลลัพธ์:-
จากผลลัพธ์ คุณจะเห็นว่ากล่องรายการแสดงรหัสบทช่วยสอนและชื่อบทช่วยสอนตามลำดับ
สรุป
- ASP.Net สามารถทำงานร่วมกับฐานข้อมูลเช่น Oracle และ Microsoft SQL Server.
- ASP.Net มีคำสั่งทั้งหมดที่จำเป็นสำหรับการทำงานกับฐานข้อมูล ซึ่งเกี่ยวข้องกับการสร้างการเชื่อมต่อกับฐานข้อมูล คุณสามารถดำเนินการต่างๆ เช่น เลือก อัปเดต แทรก และลบ
- วัตถุ datareader ใน ASP.Net ใช้เพื่อเก็บข้อมูลทั้งหมดที่ส่งคืนโดยฐานข้อมูล While loop ใน ASP.net สามารถใช้เพื่ออ่านแถวข้อมูลทีละแถว
- วัตถุอะแดปเตอร์ข้อมูลใช้ในการดำเนินการ SQL เช่น การแทรก การลบ และการอัปเดต
- ASP.Net สามารถผูกตัวควบคุมกับฟิลด์ต่างๆ ในตารางได้ เชื่อมโยงกันด้วยการกำหนดแหล่งข้อมูลใน ASP.Net แหล่งข้อมูลใช้เพื่อดึงข้อมูลจากฐานข้อมูลและเติมลงในตัวควบคุม