การเชื่อมต่อฐานข้อมูล C#: วิธีเชื่อมต่อ SQL Server (ตัวอย่าง)
สามารถทำงานกับฐานข้อมูลประเภทต่างๆ ได้ สามารถทำงานร่วมกับฐานข้อมูลทั่วไปเช่น Oracle รวมถึง Microsoft SQL เซิร์ฟเวอร์
อีกทั้งยังสามารถทำงานร่วมกับฐานข้อมูลรูปแบบใหม่ๆ เช่น MongoDB รวมถึง MySQL.
พื้นฐานของการเชื่อมต่อฐานข้อมูล
C# และ .Net สามารถทำงานกับฐานข้อมูลส่วนใหญ่ได้ ซึ่งเป็นฐานข้อมูลที่พบบ่อยที่สุด Oracle รวมถึง Microsoft SQL Server- แต่ในทุกฐานข้อมูล ตรรกะเบื้องหลังการทำงานกับฐานข้อมูลทั้งหมดส่วนใหญ่จะเหมือนกัน
ในตัวอย่างของเรา เราจะดูที่การทำงาน Microsoft SQL Server เป็นฐานข้อมูลของเรา เพื่อวัตถุประสงค์ในการเรียนรู้ สามารถดาวน์โหลดและใช้งานได้ Microsoft SQL Server ฉบับด่วนซึ่งเป็นซอฟต์แวร์ฐานข้อมูลฟรีที่จัดทำโดย Microsoft.
ในการทำงานกับฐานข้อมูล ต่อไปนี้เป็นแนวคิดที่ใช้ได้กับฐานข้อมูลทั้งหมด
- การเชื่อมต่อ – ในการทำงานกับข้อมูลในฐานข้อมูล ขั้นตอนแรกที่ชัดเจนคือการเชื่อมต่อ การเชื่อมต่อกับฐานข้อมูลโดยปกติจะประกอบด้วยพารามิเตอร์ที่กล่าวถึงด้านล่าง
- ชื่อฐานข้อมูลหรือแหล่งข้อมูล – พารามิเตอร์ที่สำคัญตัวแรกคือชื่อฐานข้อมูลที่ต้องสร้างการเชื่อมต่อ การเชื่อมต่อแต่ละครั้งสามารถทำงานได้กับฐานข้อมูลครั้งละหนึ่งฐานข้อมูลเท่านั้น
- หนังสือรับรอง – สิ่งสำคัญถัดไปคือชื่อผู้ใช้และรหัสผ่านที่ต้องใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล ช่วยให้มั่นใจได้ว่าชื่อผู้ใช้และรหัสผ่านมีสิทธิ์ที่จำเป็นในการเชื่อมต่อกับฐานข้อมูล
- พารามิเตอร์เสริม – สำหรับประเภทฐานข้อมูลแต่ละประเภท คุณสามารถระบุพารามิเตอร์เสริมเพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการที่ .net ควรจัดการการเชื่อมต่อกับฐานข้อมูล ตัวอย่างเช่น คุณสามารถระบุพารามิเตอร์สำหรับระยะเวลาที่การเชื่อมต่อควรเปิดใช้งานอยู่ หากไม่มีการดำเนินการใดๆ เป็นระยะเวลาหนึ่ง พารามิเตอร์จะกำหนดว่าจะต้องปิดการเชื่อมต่อหรือไม่
- การเลือกข้อมูลจากฐานข้อมูล – เมื่อสร้างการเชื่อมต่อแล้ว สิ่งสำคัญต่อไปคือการดึงข้อมูลจากฐานข้อมูล C # สามารถดำเนินการคำสั่งเลือก 'SQL' กับฐานข้อมูลได้ คำสั่ง 'SQL' สามารถใช้เพื่อดึงข้อมูลจากตารางเฉพาะในฐานข้อมูล
- การแทรกข้อมูลลงในฐานข้อมูล – สามารถใช้ C# เพื่อแทรกบันทึกลงในฐานข้อมูลได้ สามารถระบุค่าใน C# สำหรับแต่ละแถวที่ต้องการแทรกลงในฐานข้อมูล
- การอัพเดตข้อมูลลงในฐานข้อมูล – C# ยังสามารถใช้เพื่ออัปเดตบันทึกที่มีอยู่ลงในฐานข้อมูลได้ สามารถระบุค่าใหม่ได้ใน C# สำหรับแต่ละแถวที่ต้องการอัปเดตลงในฐานข้อมูล
- การลบข้อมูลจากฐานข้อมูล – สามารถใช้ C# เพื่อลบบันทึกลงในฐานข้อมูลได้ เลือกคำสั่งเพื่อระบุแถวที่ต้องการลบสามารถระบุได้ใน C#
โอเค ตอนนี้เราได้เห็นทฤษฎีของการดำเนินการแต่ละอย่างแล้ว เรามาดูส่วนต่อไปเพื่อดูว่าเราสามารถดำเนินการกับฐานข้อมูลใน C# ได้อย่างไรกัน
คำสั่ง SQL ใน c #
คำสั่ง SQL ใน C# อนุญาตให้ผู้ใช้สอบถามและส่งคำสั่งไปยังฐานข้อมูล คำสั่ง SQL ถูกระบุโดยอ็อบเจ็กต์การเชื่อมต่อ SQL มีการใช้สองวิธี ได้แก่ วิธี ExecuteReader สำหรับผลลัพธ์ของแบบสอบถาม และ ExecuteNonQuery สำหรับคำสั่งแทรก อัปเดต และลบ เป็นวิธีที่เหมาะสมที่สุดสำหรับคำสั่งต่างๆ
วิธีเชื่อมต่อ C# กับฐานข้อมูล
ตอนนี้เรามาดูโค้ดซึ่งจำเป็นต้องเก็บไว้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล ในตัวอย่างของเรา เราจะเชื่อมต่อกับฐานข้อมูลที่มีชื่อว่า Demodb ข้อมูลประจำตัวที่ใช้ในการเชื่อมต่อกับฐานข้อมูลได้รับด้านล่าง
- ชื่อผู้ใช้ – ส
- รหัสผ่าน – demo123
เราจะเห็นแบบง่ายๆ Windows ใบสมัครแบบฟอร์ม เพื่อทำงานกับฐานข้อมูล เราจะมีปุ่มง่ายๆ ที่เรียกว่า “เชื่อมต่อ” ซึ่งจะใช้สำหรับเชื่อมต่อกับฐานข้อมูล
ดังนั้นเรามาทำตามขั้นตอนด้านล่างเพื่อให้บรรลุเป้าหมายนี้
ขั้นตอน 1) ขั้นตอนแรกคือการสร้างโปรเจ็กต์ใหม่ใน Visual Studio หลังจากเปิด Visual Studio แล้ว คุณต้องเลือกตัวเลือกเมนู New->Project
ขั้นตอน 2) ขั้นตอนต่อไปคือการเลือกประเภทโครงการเป็น Windows ใบสมัครแบบฟอร์ม. ในที่นี้ เราต้องระบุชื่อและที่ตั้งของโครงการของเราด้วย
- ในกล่องโต้ตอบโครงการ เราจะเห็นตัวเลือกต่างๆ สำหรับการสร้างโครงการประเภทต่างๆ ใน Visual Studio คลิกที่นี่ Windows ตัวเลือกทางด้านซ้ายมือ
- เมื่อเราคลิก Windows ตัวเลือกในขั้นตอนที่แล้วเราจะเห็นตัวเลือกสำหรับ Windows ใบสมัครแบบฟอร์ม. คลิกตัวเลือกนี้
- จากนั้นเราจะตั้งชื่อแอปพลิเคชันซึ่งในกรณีของเราคือ “DemoApplication” เรายังต้องระบุสถานที่สำหรับจัดเก็บแอปพลิเคชันของเราด้วย
- ในที่สุดเราคลิกปุ่ม 'ตกลง' เพื่อให้ Visual Studio สร้างโปรเจ็กต์ของเรา
ขั้นตอน 3) ตอนนี้เพิ่มปุ่มจากกล่องเครื่องมือไปที่ Windows รูปร่าง. ใส่คุณสมบัติข้อความของปุ่มเป็นเชื่อมต่อ หน้าตาก็จะประมาณนี้
ขั้นตอน 4) ตอนนี้ให้ดับเบิลคลิกแบบฟอร์มเพื่อเพิ่มตัวจัดการเหตุการณ์ลงในโค้ดสำหรับเหตุการณ์คลิกปุ่ม เพิ่มโค้ดด้านล่างลงในตัวจัดการเหตุการณ์
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DemoApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(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(); MessageBox.Show("Connection Open !"); cnn.Close(); } } }
คำอธิบายรหัส:-
- ขั้นตอนแรกคือการสร้างตัวแปรซึ่งจะใช้เพื่อสร้างสตริงการเชื่อมต่อและการเชื่อมต่อกับฐานข้อมูล SQL Server
- ขั้นตอนต่อไปคือการสร้างสตริงการเชื่อมต่อ สตริงการเชื่อมต่อจะต้องได้รับการระบุอย่างถูกต้องเพื่อให้ C# เข้าใจสตริงการเชื่อมต่อ สตริงการเชื่อมต่อประกอบด้วยส่วนต่างๆ ต่อไปนี้
- แหล่งข้อมูล – นี่คือชื่อของเซิร์ฟเวอร์ที่มีฐานข้อมูลอยู่ ในกรณีของเรา มันอยู่บนเครื่องชื่อ WIN- 50GP30FGO75
- Initial Catalog ใช้เพื่อระบุชื่อของฐานข้อมูล
- UserID และรหัสผ่านเป็นข้อมูลรับรองที่จำเป็นในการเชื่อมต่อกับฐานข้อมูล
- ต่อไป เราจะกำหนดสตริงการเชื่อมต่อให้กับตัวแปร cnn ตัวแปร cnn ซึ่งเป็นประเภท SqlConnection ใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล
- ต่อไปเราใช้วิธี Open ของตัวแปร cnn เพื่อเปิดการเชื่อมต่อกับฐานข้อมูล จากนั้นเราก็แสดงข้อความให้ผู้ใช้ทราบว่ามีการเชื่อมต่อแล้ว
- เมื่อดำเนินการเสร็จเรียบร้อยแล้ว เราจะปิดการเชื่อมต่อกับฐานข้อมูล การปิดการเชื่อมต่อกับฐานข้อมูลถือเป็นแนวทางปฏิบัติที่ดีเสมอ หากไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติมกับฐานข้อมูล
เมื่อตั้งค่าโค้ดด้านบนแล้ว และดำเนินการโครงการโดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ด้านล่าง เมื่อแสดงแบบฟอร์มแล้ว ให้คลิกปุ่มเชื่อมต่อ
ผลลัพธ์:-
เมื่อคลิกปุ่ม “เชื่อมต่อ” จากผลลัพธ์ คุณจะเห็นได้ว่าการเชื่อมต่อฐานข้อมูลได้ถูกสร้างขึ้นแล้ว ดังนั้นกล่องข้อความจึงปรากฏขึ้น
เข้าถึงข้อมูลด้วย SqlDataReader
เพื่อแสดงให้เห็นว่าสามารถเข้าถึงข้อมูลโดยใช้ C# ได้อย่างไร ให้เราถือว่าเรามีสิ่งประดิษฐ์ต่อไปนี้ในฐานข้อมูลของเรา
- ตารางที่เรียกว่า demotb ตารางนี้จะใช้ในการจัดเก็บ ID และชื่อของบทช่วยสอนต่างๆ
- ตารางจะมี 2 คอลัมน์ คอลัมน์แรกเรียกว่า "TutorialID" และอีกคอลัมน์เรียกว่า "TutorialName"
- ขณะนี้ตารางจะมี 2 แถวดังภาพด้านล่าง
ID การสอน | ชื่อบทช่วยสอน |
---|---|
1 | C# |
2 | ASP.Net |
มาเปลี่ยนโค้ดในฟอร์มของเรา เพื่อให้เราสามารถสอบถามข้อมูลและแสดงข้อมูลผ่าน Messagebox ได้ โปรดทราบว่าโค้ดทั้งหมดที่ป้อนด้านล่างเป็นโค้ดต่อเนื่องจากโค้ดที่เขียนไว้สำหรับการเชื่อมต่อข้อมูลในหัวข้อก่อนหน้า
ขั้นตอน 1) เรามาแบ่งโค้ดออกเป็น 2 ส่วนเพื่อให้ผู้ใช้เข้าใจได้ง่าย
- สิ่งแรกคือการสร้างคำสั่ง "select" ซึ่งจะใช้ในการอ่านข้อมูลจากฐานข้อมูล
- จากนั้นเราจะดำเนินการคำสั่ง "select" กับฐานข้อมูลและดึงแถวตารางทั้งหมดตามลำดับ
คำอธิบายรหัส:-
- ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้
- SQLCommand – 'SQLCommand' เป็นคลาสที่กำหนดไว้ใน C# คลาสนี้ใช้สำหรับดำเนินการอ่านและเขียนลงในฐานข้อมูล ดังนั้น ขั้นตอนแรกคือต้องแน่ใจว่าเราสร้างตัวแปรประเภทหนึ่งของคลาสนี้ ตัวแปรนี้จะถูกนำไปใช้ในขั้นตอนต่อไปของการอ่านข้อมูลจากฐานข้อมูลของเรา
- วัตถุ DataReader ใช้เพื่อรับข้อมูลทั้งหมดที่ระบุโดยแบบสอบถาม SQL จากนั้นเราสามารถอ่านแถวตารางทั้งหมดได้ทีละแถวโดยใช้เครื่องอ่านข้อมูล
- จากนั้นเราจะกำหนดตัวแปรสตริง 2 ตัว ตัวหนึ่งคือ “SQL” เพื่อเก็บสตริงคำสั่ง SQL ของเรา ถัดไปคือ "เอาต์พุต" ซึ่งจะมีค่าตารางทั้งหมด
- ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ซึ่งจะใช้กับฐานข้อมูลของเรา ในกรณีของเรา มันคือ “เลือก TutorialID, TutorialName จาก demotb” นี่จะดึงแถวทั้งหมดจากตาราง demotb
- ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งที่ใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณต้องส่งผ่านวัตถุการเชื่อมต่อและสตริง SQL
- ต่อไป เราจะรันคำสั่ง data reader ซึ่งจะดึงแถวทั้งหมดจากตาราง demotb
- ตอนนี้เรามีแถวทั้งหมดของตารางอยู่กับเราแล้ว เราจำเป็นต้องมีกลไกในการเข้าถึงแถวทีละแถว สำหรับสิ่งนี้ เราจะใช้คำสั่ง while คำสั่ง while จะถูกใช้เพื่อเข้าถึงแถวจากตัวอ่านข้อมูลทีละแถว จากนั้นเราใช้วิธี GetValue เพื่อรับค่าของ TutorialID และ TutorialName
ขั้นตอน 2) ในขั้นตอนสุดท้ายเราจะแสดงผลลัพธ์ให้ผู้ใช้เห็นและปิดวัตถุทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูล
คำอธิบายรหัส:-
- เราจะดำเนินการโค้ดของเราต่อไปโดยการแสดงค่าของตัวแปร Output โดยใช้ข้อความBox- ตัวแปร Output จะมีค่าทั้งหมดจากตาราง demotb
- ในที่สุดเราก็ปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวทางปฏิบัติที่ดีเสมอ
เมื่อตั้งค่าโค้ดด้านบนแล้ว และรันโปรเจ็กต์โดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ดังต่อไปนี้ เมื่อแสดงฟอร์มแล้ว ให้คลิกปุ่มเชื่อมต่อ
ผลลัพธ์:-
จากผลลัพธ์จะเห็นได้ชัดเจนว่าโปรแกรมสามารถรับค่าจากฐานข้อมูลได้ จากนั้นข้อมูลจะแสดงในกล่องข้อความ
C# แทรกลงในฐานข้อมูล
เช่นเดียวกับการเข้าถึงข้อมูล C# มีความสามารถในการแทรกบันทึกลงในฐานข้อมูลเช่นกัน เพื่อแสดงวิธีการแทรกบันทึกลงในฐานข้อมูลของเรา ลองใช้โครงสร้างตารางแบบเดียวกับที่ใช้ด้านบน
ID การสอน | ชื่อบทช่วยสอน |
---|---|
1 | C# |
2 | ASP.Net |
มาเปลี่ยนโค้ดในฟอร์มของเราให้สามารถแทรกแถวต่อไปนี้เข้าไปในตารางได้
ID การสอน | ชื่อบทช่วยสอน |
---|---|
3 | VB.Net |
มาเพิ่มโค้ดต่อไปนี้ลงในโปรแกรมของเรากันเถอะ โค้ดสั้นๆ ด้านล่างนี้จะใช้เพื่อแทรกข้อมูลที่มีอยู่ลงในฐานข้อมูลของเรา
คำอธิบายรหัส:-
- ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้
- SQLCommand – ประเภทข้อมูลนี้ใช้เพื่อกำหนดวัตถุที่ใช้ในการดำเนินการ SQL กับฐานข้อมูล วัตถุนี้จะเก็บคำสั่ง SQL ที่จะทำงานกับฐานข้อมูล SQL Server ของเรา
- วัตถุ DataAdapter ใช้เพื่อดำเนินการ SQL เฉพาะ เช่น คำสั่งแทรก ลบ และอัปเดต
- จากนั้นเราจะกำหนดตัวแปรสตริงซึ่งก็คือ "SQL" เพื่อเก็บสตริงคำสั่ง SQL ของเรา
- ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ที่จะใช้กับฐานข้อมูลของเรา ในกรณีของเรา เรากำลังออกคำสั่ง insert ซึ่งจะแทรกบันทึกของ TutorialID=1 และ TutorialName=VB.Net
- ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งที่ใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณต้องส่งผ่านวัตถุการเชื่อมต่อและสตริง SQL
- ในคำสั่งอะแดปเตอร์ข้อมูลของเรา ตอนนี้เราเชื่อมโยงคำสั่ง SQL insert กับอะแดปเตอร์ของเรา จากนั้นเราใช้เมธอด ExecuteNonQuery ซึ่งใช้ในการดำเนินการคำสั่ง Insert กับฐานข้อมูลของเรา เมธอด 'ExecuteNonQuery' ใช้ใน C# เพื่อออกคำสั่ง DML ใดๆ กับฐานข้อมูล โดยคำสั่ง DML หมายถึงการดำเนินการแทรก ลบ และอัปเดต ใน C# หากคุณต้องการออกคำสั่งใดๆ เหล่านี้กับตาราง คุณต้องใช้เมธอด ExecuteNonQuery
- ในที่สุดเราก็ปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวทางปฏิบัติที่ดีเสมอ
เมื่อตั้งค่าโค้ดด้านบนแล้ว และดำเนินการโครงการโดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ด้านล่าง เมื่อแสดงแบบฟอร์มแล้ว ให้คลิกปุ่มเชื่อมต่อ
ผลลัพธ์:-
หากคุณไปที่ SQL Server Express และดูแถวในตาราง demotb คุณจะเห็นแถวแทรกอยู่ดังที่แสดงด้านล่าง
C # อัพเดตฐานข้อมูล
เช่นเดียวกับการเข้าถึงข้อมูล C# มีความสามารถในการอัปเดตบันทึกที่มีอยู่จากฐานข้อมูลเช่นกัน เพื่อแสดงวิธีอัปเดตบันทึกลงในฐานข้อมูลของเรา ลองใช้โครงสร้างตารางแบบเดียวกับที่ใช้ด้านบน
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 เสร็จสมบูรณ์ |
มาเพิ่มโค้ดต่อไปนี้ลงในโปรแกรมของเรากันเถอะ โค้ดสั้นๆ ด้านล่างนี้จะใช้เพื่ออัปเดตข้อมูลที่มีอยู่ในฐานข้อมูลของเรา
ตัวอย่าง C # SqlCommand พร้อมคำอธิบายโค้ด: -
- ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้
- SQLCommand – ประเภทข้อมูลนี้ใช้เพื่อกำหนดวัตถุที่ใช้ในการดำเนินการ SQL กับฐานข้อมูล วัตถุนี้จะเก็บคำสั่ง SQL ที่จะทำงานกับฐานข้อมูล SQL Server ของเรา
- วัตถุ dataadapter ใช้สำหรับดำเนินการ SQL เฉพาะ เช่น คำสั่งแทรก การลบ และการอัพเดต
- จากนั้นเราจะกำหนดตัวแปรสตริง ซึ่งก็คือ SQL เพื่อเก็บสตริงคำสั่ง SQL ของเรา
- ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ที่จะใช้กับฐานข้อมูลของเรา ในกรณีของเรา เรากำลังออกคำสั่งอัปเดต ซึ่งจะอัปเดตชื่อบทช่วยสอนเป็น “VB.Net Complete” ในขณะที่รหัสบทช่วยสอนไม่เปลี่ยนแปลงและคงไว้เป็น 3
- ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งซึ่งใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณได้ส่งผ่านอ็อบเจ็กต์การเชื่อมต่อและสตริง SQL แล้ว
- ในคำสั่งอะแดปเตอร์ข้อมูลของเรา ตอนนี้เราเชื่อมโยงคำสั่ง insert SQL กับอะแดปเตอร์ของเราแล้ว จากนั้นเรายังออกวิธี ExecuteNonQuery ซึ่งใช้ในการดำเนินการคำสั่ง Update กับฐานข้อมูลของเรา
- ในที่สุดเราก็ปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวทางปฏิบัติที่ดีเสมอ
เมื่อตั้งค่าโค้ดด้านบนแล้ว และดำเนินการโครงการโดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ด้านล่าง เมื่อแสดงแบบฟอร์มแล้ว ให้คลิกปุ่มเชื่อมต่อ
ผลลัพธ์:-
หากคุณไปที่ SQL Server Express จริงๆ และเห็นแถวในตาราง demotb คุณจะเห็นแถวนั้นได้รับการอัปเดตสำเร็จดังที่แสดงด้านล่าง
การลบบันทึก
เช่นเดียวกับการเข้าถึงข้อมูล C# มีความสามารถในการลบบันทึกที่มีอยู่ออกจากฐานข้อมูลเช่นกัน เพื่อแสดงวิธีการลบบันทึกลงในฐานข้อมูลของเรา ลองใช้โครงสร้างตารางแบบเดียวกับที่ใช้ด้านบน
ID การสอน | ชื่อบทช่วยสอน |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net เสร็จสมบูรณ์ |
มาเปลี่ยนโค้ดในฟอร์มของเราให้ลบแถวต่อไปนี้ได้
ID การสอน | ชื่อบทช่วยสอน |
---|---|
3 | VB.Net เสร็จสมบูรณ์ |
มาเพิ่มโค้ดต่อไปนี้ลงในโปรแกรมของเรากันเถอะ โค้ดสั้นๆ ด้านล่างนี้จะใช้เพื่อลบระเบียนที่มีอยู่แล้วในฐานข้อมูลของเรา
คำอธิบายรหัส:-
- ข้อแตกต่างที่สำคัญในโค้ดนี้คือขณะนี้เรากำลังออกคำสั่ง Delete SQL คำสั่งลบใช้เพื่อลบแถวในตาราง demotb ซึ่ง TutorialID มีค่าเป็น 3
- ในคำสั่งอะแดปเตอร์ข้อมูลของเรา ตอนนี้เราเชื่อมโยงคำสั่ง insert SQL กับอะแดปเตอร์ของเราแล้ว จากนั้นเรายังออกวิธี ExecuteNonQuery ซึ่งใช้ในการดำเนินการคำสั่ง Delete กับฐานข้อมูลของเรา
เมื่อตั้งค่าโค้ดด้านบนแล้ว และดำเนินการโครงการโดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ด้านล่าง เมื่อแสดงแบบฟอร์มแล้ว ให้คลิกปุ่มเชื่อมต่อ
ผลลัพธ์:-
หากคุณไปที่ SQL Server Express จริงๆ และเห็นแถวในตาราง demotb คุณจะเห็นแถวถูกลบสำเร็จดังที่แสดงด้านล่าง
การเชื่อมต่อการควบคุมกับข้อมูล
ในหัวข้อก่อนหน้านี้ เราได้เรียนรู้วิธีการใช้คำสั่ง C# เช่น SQLCommand และ SQLReader เพื่อดึงข้อมูลจากฐานข้อมูล นอกจากนี้ เรายังได้เรียนรู้วิธีการอ่านแต่ละแถวของตารางและใช้กล่องข้อความเพื่อแสดงเนื้อหาของตารางให้ผู้ใช้ดูอีกด้วย
แต่เห็นได้ชัดว่าผู้ใช้ไม่ต้องการดูข้อมูลที่ส่งผ่านกล่องข้อความและต้องการการควบคุมที่ดีกว่าในการแสดงข้อมูล มาดูโครงสร้างข้อมูลด้านล่างในตารางกัน
ID การสอน | ชื่อบทช่วยสอน |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net เสร็จสมบูรณ์ |
จากโครงสร้างข้อมูลข้างต้น ผู้ใช้ควรเห็น TutorialID และ Tutorial Name ที่แสดงอยู่ในกล่องข้อความ ประการที่สอง ผู้ใช้อาจต้องการปุ่มควบคุมบางประเภทที่อนุญาตให้ไปที่ระเบียนถัดไปหรือระเบียนก่อนหน้าในตาราง ซึ่งจะต้องอาศัยการเขียนโค้ดเพิ่มเติมเล็กน้อยจากฝั่งของนักพัฒนา
ข่าวดีก็คือ C# สามารถลดความพยายามในการเขียนโค้ดเพิ่มเติมได้ด้วยการอนุญาตให้ผูกตัวควบคุมเข้ากับข้อมูล ซึ่งหมายความว่า C# สามารถเติมค่าของกล่องข้อความตามฟิลด์เฉพาะของตารางได้โดยอัตโนมัติ
ดังนั้นคุณจึงสามารถมีกล่องข้อความ 2 กล่องในฟอร์ม Windows ได้ จากนั้นคุณสามารถเชื่อมโยงกล่องข้อความหนึ่งไปยังฟิลด์ TutorialID และอีกกล่องข้อความหนึ่งไปยังฟิลด์ TutorialName การเชื่อมโยงนี้ทำในโปรแกรมออกแบบ Visual Studio เอง และคุณไม่จำเป็นต้องเขียนโค้ดเพิ่มเติมสำหรับสิ่งนี้
Visual Studio จะเขียนโค้ดให้คุณเพื่อให้แน่ใจว่าการเชื่อมโยงทำงานได้ จากนั้นเมื่อคุณเรียกใช้แอปพลิเคชัน ตัวควบคุม TextBox จะเชื่อมต่อกับฐานข้อมูล ดึงข้อมูล และแสดงข้อมูลนั้นในตัวควบคุม TextBox โดยอัตโนมัติ นักพัฒนาไม่จำเป็นต้องเขียนโค้ดเพื่อให้บรรลุเป้าหมายนี้
ลองดูตัวอย่างโค้ดว่าเราจะผูกการควบคุมได้อย่างไร
ในตัวอย่างของเรา เราจะสร้างกล่องข้อความ 2 กล่องบนฟอร์ม Windows กล่องข้อความเหล่านี้จะแสดงรหัสบทช่วยสอนและชื่อบทช่วยสอนตามลำดับ โดยกล่องข้อความเหล่านี้จะผูกกับฟิลด์รหัสบทช่วยสอนและชื่อบทช่วยสอนของฐานข้อมูลตามลำดับ
มาทำตามขั้นตอนที่กล่าวถึงด้านล่างเพื่อให้บรรลุเป้าหมายนี้
ขั้นตอน 1) สร้างแบบฟอร์มพื้นฐาน ในแบบฟอร์ม ให้ลากและวางองค์ประกอบ 2 ส่วน ได้แก่ ป้ายชื่อและกล่องข้อความ จากนั้นดำเนินการตามขั้นตอนย่อยต่อไปนี้
- ใส่ค่าข้อความของป้ายกำกับแรกเป็น TutorialID
- ใส่ค่าข้อความของป้ายกำกับที่สองเป็น TutorialName
- ใส่คุณสมบัติชื่อของกล่องข้อความแรกเป็น txtID
- ใส่คุณสมบัติชื่อของกล่องข้อความที่สองเป็น txtName
ด้านล่างนี้คือลักษณะของแบบฟอร์มเมื่อดำเนินการตามขั้นตอนข้างต้นแล้ว
ขั้นตอน 2) ขั้นตอนต่อไปคือการเพิ่ม Binding Navigator ลงในแบบฟอร์ม ตัวควบคุม Binding Navigator สามารถนำทางผ่านแต่ละแถวของตารางได้โดยอัตโนมัติ หากต้องการเพิ่ม Binding Navigator เพียงไปที่กล่องเครื่องมือแล้วลากไปที่แบบฟอร์ม
ขั้นตอน 3) ขั้นตอนต่อไปคือการเพิ่มการเชื่อมโยงกับฐานข้อมูลของเรา ซึ่งสามารถทำได้โดยไปที่ตัวควบคุม Textbox แล้วคลิกที่คุณสมบัติ DataBindings->Text Binding Navigator จะใช้เพื่อสร้างการเชื่อมโยงจากแอปพลิเคชันของคุณไปยังฐานข้อมูล
เมื่อคุณดำเนินการตามขั้นตอนนี้ Visual Studio จะเพิ่มโค้ดที่จำเป็นลงในแอปพลิเคชันโดยอัตโนมัติเพื่อให้แน่ใจว่าแอปพลิเคชันเชื่อมโยงกับฐานข้อมูล โดยปกติแล้วฐานข้อมูลใน Visual Studio จะเรียกว่าแหล่งข้อมูลโครงการ ดังนั้นเพื่อให้แน่ใจว่ามีการสร้างการเชื่อมต่อระหว่างแอปพลิเคชันและฐานข้อมูล ขั้นตอนแรกคือการสร้างแหล่งข้อมูลโครงการ
หน้าจอต่อไปนี้จะปรากฏขึ้น คลิกที่ลิงก์ "เพิ่มแหล่งข้อมูลโครงการ" เมื่อคุณคลิกที่แหล่งข้อมูลโครงการ คุณจะเห็นตัวช่วยซึ่งจะช่วยให้คุณกำหนดการเชื่อมต่อฐานข้อมูลได้
ขั้นตอน 4) เมื่อคุณคลิกลิงก์เพิ่มแหล่งข้อมูลโครงการ คุณจะเห็นตัวช่วยซึ่งจะใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล demotb ขั้นตอนต่อไปนี้จะแสดงรายละเอียดสิ่งที่ต้องกำหนดค่าในแต่ละขั้นตอนของตัวช่วย
- ในหน้าจอที่ปรากฏขึ้น ให้เลือกประเภทแหล่งข้อมูลเป็นฐานข้อมูล จากนั้นคลิกที่ปุ่มถัดไป
- ในหน้าจอถัดไป คุณต้องเริ่มสร้างสตริงการเชื่อมต่อกับฐานข้อมูล จำเป็นต้องมีสตริงการเชื่อมต่อสำหรับแอปพลิเคชันเพื่อสร้างการเชื่อมต่อกับฐานข้อมูล ประกอบด้วยพารามิเตอร์ต่างๆ เช่น ชื่อเซิร์ฟเวอร์ ชื่อฐานข้อมูล และชื่อของไดรเวอร์
- คลิกที่ปุ่มการเชื่อมต่อใหม่
- เลือกแหล่งข้อมูลเป็น Microsoft SQL Server
- คลิกที่ปุ่มดำเนินการต่อ
- ถัดไป คุณต้องเพิ่มข้อมูลประจำตัวเพื่อเชื่อมต่อกับฐานข้อมูล
- เลือกชื่อเซิร์ฟเวอร์ที่มี SQL Server อยู่
- กรอก ID ผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับฐานข้อมูล
- เลือกฐานข้อมูลเป็น demotb
- คลิกปุ่ม 'ตกลง'
- ในหน้าจอนี้ เราจะยืนยันการตั้งค่าทั้งหมดที่เกิดขึ้นบนหน้าจอก่อนหน้า
- เลือกตัวเลือก “ใช่” เพื่อรวมข้อมูลที่ละเอียดอ่อนในสตริงการเชื่อมต่อ
- คลิกที่ปุ่ม "ถัดไป"
- ในหน้าจอถัดไป คลิกที่ปุ่ม "ถัดไป" เพื่อยืนยันการสร้างสตริงการเชื่อมต่อ
- ในขั้นตอนนี้
- เลือกตาราง Demotb ซึ่งจะแสดงในหน้าจอถัดไป
- ตารางนี้จะกลายเป็นแหล่งข้อมูลที่มีอยู่ในโครงการ C#
เมื่อคุณคลิกปุ่มเสร็จสิ้น Visual Studio ตอนนี้จะตรวจสอบให้แน่ใจว่าแอปพลิเคชันสามารถสืบค้นแถวทั้งหมดในตาราง Demotb
ขั้นตอน 5) เมื่อกำหนดแหล่งข้อมูลเรียบร้อยแล้ว ตอนนี้เราต้องเชื่อมต่อกล่องข้อความ TutorialID และ TutorialName เข้ากับตาราง demotb เมื่อคุณคลิกที่คุณสมบัติ Text ของกล่องข้อความ TutorialID หรือ TutorialName คุณจะเห็นว่าแหล่งข้อมูลการผูกกับ Demotb นั้นพร้อมใช้งานแล้ว
สำหรับกล่องข้อความแรก ให้เลือกรหัสการสอน ทำซ้ำขั้นตอนนี้สำหรับกล่องข้อความที่สอง และเลือกฟิลด์เป็นชื่อการสอน ขั้นตอนด้านล่างแสดงให้เห็นว่าเราสามารถนำทางไปยังแต่ละตัวควบคุมและเปลี่ยนแปลงการผูกมัดตามนั้นได้อย่างไร
- คลิกที่การควบคุม ID บทช่วยสอน
- ในหน้าต่าง Properties คุณจะเห็นคุณสมบัติของกล่องข้อความ TutorialID ไปที่คุณสมบัติข้อความแล้วคลิกปุ่มลูกศรลง
- เมื่อคุณคลิกปุ่มลูกศรลง คุณจะเห็นตัวเลือก demotbBinding Source และจากนี้ คุณจะเห็นตัวเลือกของ TutorialName และ TutorialID เลือก ID บทช่วยสอนหนึ่งรายการ
ทำซ้ำ 3 ขั้นตอนข้างต้นสำหรับกล่องข้อความชื่อบทช่วยสอน
- คลิกที่กล่องข้อความชื่อบทช่วยสอน
- ไปที่หน้าต่างคุณสมบัติ
- เลือกคุณสมบัติข้อความ
- เลือกตัวเลือก TutorialName ใต้ demotbBindingSource
ขั้นตอน 6) ต่อไป เราต้องเปลี่ยนคุณสมบัติ Binding Source ของ BindingNavigator ให้ชี้ไปที่แหล่งข้อมูล Demotb ของเรา เหตุผลที่เราทำเช่นนี้ก็คือ Binding Navigator จำเป็นต้องทราบด้วยว่าต้องอ้างอิงถึงตารางใด
Binding Navigator ใช้สำหรับเลือกระเบียนถัดไปหรือก่อนหน้าในตาราง ดังนั้น แม้ว่าแหล่งข้อมูลจะถูกเพิ่มลงในโครงการโดยรวมและในตัวควบคุมกล่องข้อความแล้ว เราก็ยังต้องตรวจสอบให้แน่ใจว่า Binding Navigator มีลิงก์ไปยังแหล่งข้อมูลของเราด้วย เพื่อดำเนินการนี้ เราต้องคลิกวัตถุ Binding Navigator ไปที่คุณสมบัติ Binding Source และเลือกวัตถุที่พร้อมใช้งาน
ต่อไป เราต้องไปที่หน้าต่าง Properties เพื่อให้เราสามารถเปลี่ยนแปลงคุณสมบัติ Binding Source ได้
เมื่อดำเนินการทุกขั้นตอนข้างต้นสำเร็จแล้ว คุณจะได้รับผลลัพธ์ตามที่ระบุไว้ด้านล่าง
ผลลัพธ์:-
เมื่อเริ่มต้นโครงการแล้ว คุณจะเห็นว่ากล่องข้อความจะรับค่าจากตารางโดยอัตโนมัติ
เมื่อคุณคลิกปุ่มถัดไปบน Navigator ระบบจะไปยังระเบียนถัดไปในตารางโดยอัตโนมัติ และค่าของระเบียนถัดไปจะปรากฏในกล่องข้อความโดยอัตโนมัติ
C# DataGridView
Data Grids ใช้เพื่อแสดงข้อมูลจากตารางในรูปแบบคล้ายตาราง เมื่อผู้ใช้เห็นข้อมูลตาราง โดยปกติแล้วพวกเขาต้องการเห็นแถวของตารางทั้งหมดในช็อตเดียว ซึ่งสามารถทำได้หากเราสามารถแสดงข้อมูลเป็นตารางบนแบบฟอร์มได้
C# และ Visual Studio มีกริดข้อมูลในตัว ซึ่งสามารถใช้กริดนี้เพื่อแสดงข้อมูลได้ มาดูตัวอย่างกัน ในตัวอย่างของเรา เราจะมีกริดข้อมูลซึ่งจะใช้เพื่อแสดงค่ารหัสบทช่วยสอนและชื่อบทช่วยสอนจากตารางสาธิต
ขั้นตอน 1) ลากตัวควบคุม DataGridView จากกล่องเครื่องมือไปที่ฟอร์มใน Visual Studio ตัวควบคุม DataGridView ใช้ใน Visual Studio เพื่อแสดงแถวของตารางในรูปแบบคล้ายกริด
ขั้นตอน 2) ในขั้นตอนถัดไป เราจำเป็นต้องเชื่อมต่อตารางข้อมูลของเรากับฐานข้อมูล ในส่วนสุดท้าย เราได้สร้างแหล่งข้อมูลโครงการแล้ว ลองใช้แหล่งข้อมูลเดียวกันในตัวอย่างของเรา
- ขั้นแรก คุณต้องเลือกตารางและคลิกที่ลูกศรในตาราง นี่จะแสดงตัวเลือกการกำหนดค่ากริดขึ้นมา
- ในตัวเลือกการกำหนดค่า เพียงเลือกแหล่งข้อมูลเป็น demotbBindingSource ซึ่งเป็นแหล่งข้อมูลที่สร้างขึ้นในส่วนก่อนหน้า
หากดำเนินการตามขั้นตอนข้างต้นทั้งหมดดังที่แสดง คุณจะได้รับผลลัพธ์ตามที่ระบุไว้ด้านล่าง
ผลลัพธ์:-
จากผลลัพธ์ คุณจะเห็นว่าตารางนั้นเต็มไปด้วยค่าจากฐานข้อมูล
สรุป
- C# SQL สามารถทำงานกับฐานข้อมูลเช่น Oracle รวมถึง Microsoft SQL Server.
- บทช่วยสอนเกี่ยวกับฐานข้อมูล C# นี้มีคำสั่งทั้งหมดที่จำเป็นสำหรับการใช้งานฐานข้อมูล ซึ่งเกี่ยวข้องกับการสร้างการเชื่อมต่อกับฐานข้อมูล คุณสามารถดำเนินการต่างๆ เช่น เลือก อัปเดต แทรก และลบ โดยใช้คำสั่งใน C#
- วัตถุ DataReader ใน C# ใช้เพื่อเก็บข้อมูลทั้งหมดที่ส่งคืนโดยฐานข้อมูล While loop ใน C# สามารถใช้เพื่ออ่านแถวข้อมูลทีละแถว
- วัตถุอะแดปเตอร์ข้อมูลใช้ในการดำเนินการ SQL เช่น การแทรก การลบ และการอัพเดตกับฐานข้อมูล
- C# สามารถผูกตัวควบคุมกับฟิลด์ต่างๆ ในตารางได้ เชื่อมโยงกันด้วยการกำหนดแหล่งข้อมูลใน C# แหล่งข้อมูลใช้เพื่อดึงข้อมูลจากฐานข้อมูลและเติมลงในตัวควบคุม
- เนวิเกเตอร์การเชื่อมโยงใช้เพื่อนำทางผ่านแถวต่างๆ ในตารางโดยอัตโนมัติ
- ตารางข้อมูลใน C# สามารถเชื่อมต่อกับฐานข้อมูลและแสดงค่าทั้งหมดจากตารางในรูปแบบตารางได้