การเชื่อมต่อฐานข้อมูล C#: วิธีเชื่อมต่อ SQL Server (ตัวอย่าง)

การเข้าถึงข้อมูลจากฐานข้อมูลถือเป็นส่วนสำคัญของภาษาการเขียนโปรแกรมใดๆ จำเป็นอย่างยิ่งที่ภาษาการเขียนโปรแกรมใดๆ จะต้องมีความสามารถในการทำงานกับฐานข้อมูลได้ C# ก็ไม่ต่างกัน

สามารถทำงานกับฐานข้อมูลประเภทต่างๆ ได้ สามารถทำงานร่วมกับฐานข้อมูลทั่วไปเช่น Oracle รวมถึง Microsoft SQL เซิร์ฟเวอร์

อีกทั้งยังสามารถทำงานร่วมกับฐานข้อมูลรูปแบบใหม่ๆ เช่น MongoDB รวมถึง MySQL.

พื้นฐานของการเชื่อมต่อฐานข้อมูล

C# และ .Net สามารถทำงานกับฐานข้อมูลส่วนใหญ่ได้ ซึ่งเป็นฐานข้อมูลที่พบบ่อยที่สุด Oracle รวมถึง Microsoft SQL Server- แต่ในทุกฐานข้อมูล ตรรกะเบื้องหลังการทำงานกับฐานข้อมูลทั้งหมดส่วนใหญ่จะเหมือนกัน

ในตัวอย่างของเรา เราจะดูที่การทำงาน Microsoft SQL Server เป็นฐานข้อมูลของเรา เพื่อวัตถุประสงค์ในการเรียนรู้ สามารถดาวน์โหลดและใช้งานได้ Microsoft SQL Server ฉบับด่วนซึ่งเป็นซอฟต์แวร์ฐานข้อมูลฟรีที่จัดทำโดย Microsoft.

ในการทำงานกับฐานข้อมูล ต่อไปนี้เป็นแนวคิดที่ใช้ได้กับฐานข้อมูลทั้งหมด

  1. การเชื่อมต่อ – ในการทำงานกับข้อมูลในฐานข้อมูล ขั้นตอนแรกที่ชัดเจนคือการเชื่อมต่อ การเชื่อมต่อกับฐานข้อมูลโดยปกติจะประกอบด้วยพารามิเตอร์ที่กล่าวถึงด้านล่าง
    1. ชื่อฐานข้อมูลหรือแหล่งข้อมูล – พารามิเตอร์ที่สำคัญตัวแรกคือชื่อฐานข้อมูลที่ต้องสร้างการเชื่อมต่อ การเชื่อมต่อแต่ละครั้งสามารถทำงานได้กับฐานข้อมูลครั้งละหนึ่งฐานข้อมูลเท่านั้น
    2. หนังสือรับรอง – สิ่งสำคัญถัดไปคือชื่อผู้ใช้และรหัสผ่านที่ต้องใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล ช่วยให้มั่นใจได้ว่าชื่อผู้ใช้และรหัสผ่านมีสิทธิ์ที่จำเป็นในการเชื่อมต่อกับฐานข้อมูล
    3. พารามิเตอร์เสริม – สำหรับประเภทฐานข้อมูลแต่ละประเภท คุณสามารถระบุพารามิเตอร์เสริมเพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการที่ .net ควรจัดการการเชื่อมต่อกับฐานข้อมูล ตัวอย่างเช่น คุณสามารถระบุพารามิเตอร์สำหรับระยะเวลาที่การเชื่อมต่อควรเปิดใช้งานอยู่ หากไม่มีการดำเนินการใดๆ เป็นระยะเวลาหนึ่ง พารามิเตอร์จะกำหนดว่าจะต้องปิดการเชื่อมต่อหรือไม่
  2. การเลือกข้อมูลจากฐานข้อมูล – เมื่อสร้างการเชื่อมต่อแล้ว สิ่งสำคัญต่อไปคือการดึงข้อมูลจากฐานข้อมูล C # สามารถดำเนินการคำสั่งเลือก 'SQL' กับฐานข้อมูลได้ คำสั่ง 'SQL' สามารถใช้เพื่อดึงข้อมูลจากตารางเฉพาะในฐานข้อมูล
  3. การแทรกข้อมูลลงในฐานข้อมูล – สามารถใช้ C# เพื่อแทรกบันทึกลงในฐานข้อมูลได้ สามารถระบุค่าใน C# สำหรับแต่ละแถวที่ต้องการแทรกลงในฐานข้อมูล
  4. การอัพเดตข้อมูลลงในฐานข้อมูล – C# ยังสามารถใช้เพื่ออัปเดตบันทึกที่มีอยู่ลงในฐานข้อมูลได้ สามารถระบุค่าใหม่ได้ใน C# สำหรับแต่ละแถวที่ต้องการอัปเดตลงในฐานข้อมูล
  5. การลบข้อมูลจากฐานข้อมูล – สามารถใช้ C# เพื่อลบบันทึกลงในฐานข้อมูลได้ เลือกคำสั่งเพื่อระบุแถวที่ต้องการลบสามารถระบุได้ใน C#

โอเค ตอนนี้เราได้เห็นทฤษฎีของการดำเนินการแต่ละอย่างแล้ว เรามาดูส่วนต่อไปเพื่อดูว่าเราสามารถดำเนินการกับฐานข้อมูลใน C# ได้อย่างไรกัน

คำสั่ง SQL ใน c #

คำสั่ง SQL ใน C# อนุญาตให้ผู้ใช้สอบถามและส่งคำสั่งไปยังฐานข้อมูล คำสั่ง SQL ถูกระบุโดยอ็อบเจ็กต์การเชื่อมต่อ SQL มีการใช้สองวิธี ได้แก่ วิธี ExecuteReader สำหรับผลลัพธ์ของแบบสอบถาม และ ExecuteNonQuery สำหรับคำสั่งแทรก อัปเดต และลบ เป็นวิธีที่เหมาะสมที่สุดสำหรับคำสั่งต่างๆ

วิธีเชื่อมต่อ C# กับฐานข้อมูล

ตอนนี้เรามาดูโค้ดซึ่งจำเป็นต้องเก็บไว้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล ในตัวอย่างของเรา เราจะเชื่อมต่อกับฐานข้อมูลที่มีชื่อว่า Demodb ข้อมูลประจำตัวที่ใช้ในการเชื่อมต่อกับฐานข้อมูลได้รับด้านล่าง

  • ชื่อผู้ใช้ – ส
  • รหัสผ่าน – demo123

เราจะเห็นแบบง่ายๆ Windows ใบสมัครแบบฟอร์ม เพื่อทำงานกับฐานข้อมูล เราจะมีปุ่มง่ายๆ ที่เรียกว่า “เชื่อมต่อ” ซึ่งจะใช้สำหรับเชื่อมต่อกับฐานข้อมูล

ดังนั้นเรามาทำตามขั้นตอนด้านล่างเพื่อให้บรรลุเป้าหมายนี้

ขั้นตอน 1) ขั้นตอนแรกคือการสร้างโปรเจ็กต์ใหม่ใน Visual Studio หลังจากเปิด Visual Studio แล้ว คุณต้องเลือกตัวเลือกเมนู New->Project

เชื่อมต่อ C# กับฐานข้อมูล

ขั้นตอน 2) ขั้นตอนต่อไปคือการเลือกประเภทโครงการเป็น Windows ใบสมัครแบบฟอร์ม. ในที่นี้ เราต้องระบุชื่อและที่ตั้งของโครงการของเราด้วย

เชื่อมต่อ C# กับฐานข้อมูล

  1. ในกล่องโต้ตอบโครงการ เราจะเห็นตัวเลือกต่างๆ สำหรับการสร้างโครงการประเภทต่างๆ ใน ​​Visual Studio คลิกที่นี่ Windows ตัวเลือกทางด้านซ้ายมือ
  2. เมื่อเราคลิก Windows ตัวเลือกในขั้นตอนที่แล้วเราจะเห็นตัวเลือกสำหรับ Windows ใบสมัครแบบฟอร์ม. คลิกตัวเลือกนี้
  3. จากนั้นเราจะตั้งชื่อแอปพลิเคชันซึ่งในกรณีของเราคือ “DemoApplication” เรายังต้องระบุสถานที่สำหรับจัดเก็บแอปพลิเคชันของเราด้วย
  4. ในที่สุดเราคลิกปุ่ม 'ตกลง' เพื่อให้ Visual Studio สร้างโปรเจ็กต์ของเรา

ขั้นตอน 3) ตอนนี้เพิ่มปุ่มจากกล่องเครื่องมือไปที่ Windows รูปร่าง. ใส่คุณสมบัติข้อความของปุ่มเป็นเชื่อมต่อ หน้าตาก็จะประมาณนี้

เชื่อมต่อ C# กับฐานข้อมูล

ขั้นตอน 4) ตอนนี้ให้ดับเบิลคลิกแบบฟอร์มเพื่อเพิ่มตัวจัดการเหตุการณ์ลงในโค้ดสำหรับเหตุการณ์คลิกปุ่ม เพิ่มโค้ดด้านล่างลงในตัวจัดการเหตุการณ์

เชื่อมต่อ C# กับฐานข้อมูล

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();
  }
 }
}

คำอธิบายรหัส:-

  1. ขั้นตอนแรกคือการสร้างตัวแปรซึ่งจะใช้เพื่อสร้างสตริงการเชื่อมต่อและการเชื่อมต่อกับฐานข้อมูล SQL Server
  2. ขั้นตอนต่อไปคือการสร้างสตริงการเชื่อมต่อ สตริงการเชื่อมต่อจะต้องได้รับการระบุอย่างถูกต้องเพื่อให้ C# เข้าใจสตริงการเชื่อมต่อ สตริงการเชื่อมต่อประกอบด้วยส่วนต่างๆ ต่อไปนี้
    1. แหล่งข้อมูล – นี่คือชื่อของเซิร์ฟเวอร์ที่มีฐานข้อมูลอยู่ ในกรณีของเรา มันอยู่บนเครื่องชื่อ WIN- 50GP30FGO75
    2. Initial Catalog ใช้เพื่อระบุชื่อของฐานข้อมูล
    3. UserID และรหัสผ่านเป็นข้อมูลรับรองที่จำเป็นในการเชื่อมต่อกับฐานข้อมูล
  3. ต่อไป เราจะกำหนดสตริงการเชื่อมต่อให้กับตัวแปร cnn ตัวแปร cnn ซึ่งเป็นประเภท SqlConnection ใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล
  4. ต่อไปเราใช้วิธี Open ของตัวแปร cnn เพื่อเปิดการเชื่อมต่อกับฐานข้อมูล จากนั้นเราก็แสดงข้อความให้ผู้ใช้ทราบว่ามีการเชื่อมต่อแล้ว
  5. เมื่อดำเนินการเสร็จเรียบร้อยแล้ว เราจะปิดการเชื่อมต่อกับฐานข้อมูล การปิดการเชื่อมต่อกับฐานข้อมูลถือเป็นแนวทางปฏิบัติที่ดีเสมอ หากไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติมกับฐานข้อมูล

เมื่อตั้งค่าโค้ดด้านบนแล้ว และดำเนินการโครงการโดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ด้านล่าง เมื่อแสดงแบบฟอร์มแล้ว ให้คลิกปุ่มเชื่อมต่อ

ผลลัพธ์:-

เชื่อมต่อ C# กับฐานข้อมูล

เมื่อคลิกปุ่ม “เชื่อมต่อ” จากผลลัพธ์ คุณจะเห็นได้ว่าการเชื่อมต่อฐานข้อมูลได้ถูกสร้างขึ้นแล้ว ดังนั้นกล่องข้อความจึงปรากฏขึ้น

เข้าถึงข้อมูลด้วย SqlDataReader

เพื่อแสดงให้เห็นว่าสามารถเข้าถึงข้อมูลโดยใช้ C# ได้อย่างไร ให้เราถือว่าเรามีสิ่งประดิษฐ์ต่อไปนี้ในฐานข้อมูลของเรา

  1. ตารางที่เรียกว่า demotb ตารางนี้จะใช้ในการจัดเก็บ ID และชื่อของบทช่วยสอนต่างๆ
  2. ตารางจะมี 2 คอลัมน์ คอลัมน์แรกเรียกว่า "TutorialID" และอีกคอลัมน์เรียกว่า "TutorialName"
  3. ขณะนี้ตารางจะมี 2 แถวดังภาพด้านล่าง
ID การสอน ชื่อบทช่วยสอน
1 C#
2 ASP.Net

มาเปลี่ยนโค้ดในฟอร์มของเรา เพื่อให้เราสามารถสอบถามข้อมูลและแสดงข้อมูลผ่าน Messagebox ได้ โปรดทราบว่าโค้ดทั้งหมดที่ป้อนด้านล่างเป็นโค้ดต่อเนื่องจากโค้ดที่เขียนไว้สำหรับการเชื่อมต่อข้อมูลในหัวข้อก่อนหน้า

ขั้นตอน 1) เรามาแบ่งโค้ดออกเป็น 2 ส่วนเพื่อให้ผู้ใช้เข้าใจได้ง่าย

  • สิ่งแรกคือการสร้างคำสั่ง "select" ซึ่งจะใช้ในการอ่านข้อมูลจากฐานข้อมูล
  • จากนั้นเราจะดำเนินการคำสั่ง "select" กับฐานข้อมูลและดึงแถวตารางทั้งหมดตามลำดับ

เข้าถึงข้อมูลด้วย SqlDataReader

คำอธิบายรหัส:-

  1. ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้
    1. SQLCommand – 'SQLCommand' เป็นคลาสที่กำหนดไว้ใน C# คลาสนี้ใช้สำหรับดำเนินการอ่านและเขียนลงในฐานข้อมูล ดังนั้น ขั้นตอนแรกคือต้องแน่ใจว่าเราสร้างตัวแปรประเภทหนึ่งของคลาสนี้ ตัวแปรนี้จะถูกนำไปใช้ในขั้นตอนต่อไปของการอ่านข้อมูลจากฐานข้อมูลของเรา
    2. วัตถุ DataReader ใช้เพื่อรับข้อมูลทั้งหมดที่ระบุโดยแบบสอบถาม SQL จากนั้นเราสามารถอ่านแถวตารางทั้งหมดได้ทีละแถวโดยใช้เครื่องอ่านข้อมูล
    3. จากนั้นเราจะกำหนดตัวแปรสตริง 2 ตัว ตัวหนึ่งคือ “SQL” เพื่อเก็บสตริงคำสั่ง SQL ของเรา ถัดไปคือ "เอาต์พุต" ซึ่งจะมีค่าตารางทั้งหมด
  2. ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ซึ่งจะใช้กับฐานข้อมูลของเรา ในกรณีของเรา มันคือ “เลือก TutorialID, TutorialName จาก demotb” นี่จะดึงแถวทั้งหมดจากตาราง demotb
  3. ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งที่ใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณต้องส่งผ่านวัตถุการเชื่อมต่อและสตริง SQL
  4. ต่อไป เราจะรันคำสั่ง data reader ซึ่งจะดึงแถวทั้งหมดจากตาราง demotb
  5. ตอนนี้เรามีแถวทั้งหมดของตารางอยู่กับเราแล้ว เราจำเป็นต้องมีกลไกในการเข้าถึงแถวทีละแถว สำหรับสิ่งนี้ เราจะใช้คำสั่ง while คำสั่ง while จะถูกใช้เพื่อเข้าถึงแถวจากตัวอ่านข้อมูลทีละแถว จากนั้นเราใช้วิธี GetValue เพื่อรับค่าของ TutorialID และ TutorialName

ขั้นตอน 2) ในขั้นตอนสุดท้ายเราจะแสดงผลลัพธ์ให้ผู้ใช้เห็นและปิดวัตถุทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูล

เข้าถึงข้อมูลด้วย SqlDataReader

คำอธิบายรหัส:-

  1. เราจะดำเนินการโค้ดของเราต่อไปโดยการแสดงค่าของตัวแปร Output โดยใช้ข้อความBox- ตัวแปร Output จะมีค่าทั้งหมดจากตาราง demotb
  2. ในที่สุดเราก็ปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวทางปฏิบัติที่ดีเสมอ

เมื่อตั้งค่าโค้ดด้านบนแล้ว และรันโปรเจ็กต์โดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ดังต่อไปนี้ เมื่อแสดงฟอร์มแล้ว ให้คลิกปุ่มเชื่อมต่อ

ผลลัพธ์:-

เข้าถึงข้อมูลด้วย SqlDataReader

จากผลลัพธ์จะเห็นได้ชัดเจนว่าโปรแกรมสามารถรับค่าจากฐานข้อมูลได้ จากนั้นข้อมูลจะแสดงในกล่องข้อความ

C# แทรกลงในฐานข้อมูล

เช่นเดียวกับการเข้าถึงข้อมูล C# มีความสามารถในการแทรกบันทึกลงในฐานข้อมูลเช่นกัน เพื่อแสดงวิธีการแทรกบันทึกลงในฐานข้อมูลของเรา ลองใช้โครงสร้างตารางแบบเดียวกับที่ใช้ด้านบน

ID การสอน ชื่อบทช่วยสอน
1 C#
2 ASP.Net

มาเปลี่ยนโค้ดในฟอร์มของเราให้สามารถแทรกแถวต่อไปนี้เข้าไปในตารางได้

ID การสอน ชื่อบทช่วยสอน
3 VB.Net

มาเพิ่มโค้ดต่อไปนี้ลงในโปรแกรมของเรากันเถอะ โค้ดสั้นๆ ด้านล่างนี้จะใช้เพื่อแทรกข้อมูลที่มีอยู่ลงในฐานข้อมูลของเรา

C# แทรกลงในฐานข้อมูล

คำอธิบายรหัส:-

  1. ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้
    1. SQLCommand – ประเภทข้อมูลนี้ใช้เพื่อกำหนดวัตถุที่ใช้ในการดำเนินการ SQL กับฐานข้อมูล วัตถุนี้จะเก็บคำสั่ง SQL ที่จะทำงานกับฐานข้อมูล SQL Server ของเรา
    2. วัตถุ DataAdapter ใช้เพื่อดำเนินการ SQL เฉพาะ เช่น คำสั่งแทรก ลบ และอัปเดต
    3. จากนั้นเราจะกำหนดตัวแปรสตริงซึ่งก็คือ "SQL" เพื่อเก็บสตริงคำสั่ง SQL ของเรา
  2. ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ที่จะใช้กับฐานข้อมูลของเรา ในกรณีของเรา เรากำลังออกคำสั่ง insert ซึ่งจะแทรกบันทึกของ TutorialID=1 และ TutorialName=VB.Net
  3. ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งที่ใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณต้องส่งผ่านวัตถุการเชื่อมต่อและสตริง SQL
  4. ในคำสั่งอะแดปเตอร์ข้อมูลของเรา ตอนนี้เราเชื่อมโยงคำสั่ง SQL insert กับอะแดปเตอร์ของเรา จากนั้นเราใช้เมธอด ExecuteNonQuery ซึ่งใช้ในการดำเนินการคำสั่ง Insert กับฐานข้อมูลของเรา เมธอด 'ExecuteNonQuery' ใช้ใน C# เพื่อออกคำสั่ง DML ใดๆ กับฐานข้อมูล โดยคำสั่ง DML หมายถึงการดำเนินการแทรก ลบ และอัปเดต ใน C# หากคุณต้องการออกคำสั่งใดๆ เหล่านี้กับตาราง คุณต้องใช้เมธอด ExecuteNonQuery
  5. ในที่สุดเราก็ปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวทางปฏิบัติที่ดีเสมอ

เมื่อตั้งค่าโค้ดด้านบนแล้ว และดำเนินการโครงการโดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ด้านล่าง เมื่อแสดงแบบฟอร์มแล้ว ให้คลิกปุ่มเชื่อมต่อ

ผลลัพธ์:-

C# แทรกลงในฐานข้อมูล

หากคุณไปที่ SQL Server Express และดูแถวในตาราง demotb คุณจะเห็นแถวแทรกอยู่ดังที่แสดงด้านล่าง

C# แทรกลงในฐานข้อมูล

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 # อัพเดตฐานข้อมูล

ตัวอย่าง C # SqlCommand พร้อมคำอธิบายโค้ด: -

  1. ขั้นตอนแรกคือการสร้างตัวแปรต่อไปนี้
    1. SQLCommand – ประเภทข้อมูลนี้ใช้เพื่อกำหนดวัตถุที่ใช้ในการดำเนินการ SQL กับฐานข้อมูล วัตถุนี้จะเก็บคำสั่ง SQL ที่จะทำงานกับฐานข้อมูล SQL Server ของเรา
    2. วัตถุ dataadapter ใช้สำหรับดำเนินการ SQL เฉพาะ เช่น คำสั่งแทรก การลบ และการอัพเดต
    3. จากนั้นเราจะกำหนดตัวแปรสตริง ซึ่งก็คือ SQL เพื่อเก็บสตริงคำสั่ง SQL ของเรา
  2. ขั้นตอนต่อไปคือการกำหนดคำสั่ง SQL ที่จะใช้กับฐานข้อมูลของเรา ในกรณีของเรา เรากำลังออกคำสั่งอัปเดต ซึ่งจะอัปเดตชื่อบทช่วยสอนเป็น “VB.Net Complete” ในขณะที่รหัสบทช่วยสอนไม่เปลี่ยนแปลงและคงไว้เป็น 3
  3. ต่อไป เราจะสร้างอ็อบเจ็กต์คำสั่งซึ่งใช้ในการรันคำสั่ง SQL กับฐานข้อมูล ในคำสั่ง SQL คุณได้ส่งผ่านอ็อบเจ็กต์การเชื่อมต่อและสตริง SQL แล้ว
  4. ในคำสั่งอะแดปเตอร์ข้อมูลของเรา ตอนนี้เราเชื่อมโยงคำสั่ง insert SQL กับอะแดปเตอร์ของเราแล้ว จากนั้นเรายังออกวิธี ExecuteNonQuery ซึ่งใช้ในการดำเนินการคำสั่ง Update กับฐานข้อมูลของเรา
  5. ในที่สุดเราก็ปิดออบเจ็กต์ทั้งหมดที่เกี่ยวข้องกับการดำเนินการฐานข้อมูลของเรา โปรดจำไว้ว่านี่เป็นแนวทางปฏิบัติที่ดีเสมอ

เมื่อตั้งค่าโค้ดด้านบนแล้ว และดำเนินการโครงการโดยใช้ Visual Studio คุณจะได้รับผลลัพธ์ด้านล่าง เมื่อแสดงแบบฟอร์มแล้ว ให้คลิกปุ่มเชื่อมต่อ

ผลลัพธ์:-

C # อัพเดตฐานข้อมูล

หากคุณไปที่ SQL Server Express จริงๆ และเห็นแถวในตาราง demotb คุณจะเห็นแถวนั้นได้รับการอัปเดตสำเร็จดังที่แสดงด้านล่าง

C # อัพเดตฐานข้อมูล

การลบบันทึก

เช่นเดียวกับการเข้าถึงข้อมูล C# มีความสามารถในการลบบันทึกที่มีอยู่ออกจากฐานข้อมูลเช่นกัน เพื่อแสดงวิธีการลบบันทึกลงในฐานข้อมูลของเรา ลองใช้โครงสร้างตารางแบบเดียวกับที่ใช้ด้านบน

ID การสอน ชื่อบทช่วยสอน
1 C#
2 ASP.Net
3 VB.Net เสร็จสมบูรณ์

มาเปลี่ยนโค้ดในฟอร์มของเราให้ลบแถวต่อไปนี้ได้

ID การสอน ชื่อบทช่วยสอน
3 VB.Net เสร็จสมบูรณ์

มาเพิ่มโค้ดต่อไปนี้ลงในโปรแกรมของเรากันเถอะ โค้ดสั้นๆ ด้านล่างนี้จะใช้เพื่อลบระเบียนที่มีอยู่แล้วในฐานข้อมูลของเรา

การลบบันทึก

คำอธิบายรหัส:-

  1. ข้อแตกต่างที่สำคัญในโค้ดนี้คือขณะนี้เรากำลังออกคำสั่ง Delete SQL คำสั่งลบใช้เพื่อลบแถวในตาราง demotb ซึ่ง TutorialID มีค่าเป็น 3
  2. ในคำสั่งอะแดปเตอร์ข้อมูลของเรา ตอนนี้เราเชื่อมโยงคำสั่ง 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 ส่วน ได้แก่ ป้ายชื่อและกล่องข้อความ จากนั้นดำเนินการตามขั้นตอนย่อยต่อไปนี้

  1. ใส่ค่าข้อความของป้ายกำกับแรกเป็น TutorialID
  2. ใส่ค่าข้อความของป้ายกำกับที่สองเป็น TutorialName
  3. ใส่คุณสมบัติชื่อของกล่องข้อความแรกเป็น txtID
  4. ใส่คุณสมบัติชื่อของกล่องข้อความที่สองเป็น txtName

ด้านล่างนี้คือลักษณะของแบบฟอร์มเมื่อดำเนินการตามขั้นตอนข้างต้นแล้ว

การเชื่อมต่อการควบคุมกับข้อมูล

ขั้นตอน 2) ขั้นตอนต่อไปคือการเพิ่ม Binding Navigator ลงในแบบฟอร์ม ตัวควบคุม Binding Navigator สามารถนำทางผ่านแต่ละแถวของตารางได้โดยอัตโนมัติ หากต้องการเพิ่ม Binding Navigator เพียงไปที่กล่องเครื่องมือแล้วลากไปที่แบบฟอร์ม

การเชื่อมต่อการควบคุมกับข้อมูล

ขั้นตอน 3) ขั้นตอนต่อไปคือการเพิ่มการเชื่อมโยงกับฐานข้อมูลของเรา ซึ่งสามารถทำได้โดยไปที่ตัวควบคุม Textbox แล้วคลิกที่คุณสมบัติ DataBindings->Text Binding Navigator จะใช้เพื่อสร้างการเชื่อมโยงจากแอปพลิเคชันของคุณไปยังฐานข้อมูล

เมื่อคุณดำเนินการตามขั้นตอนนี้ Visual Studio จะเพิ่มโค้ดที่จำเป็นลงในแอปพลิเคชันโดยอัตโนมัติเพื่อให้แน่ใจว่าแอปพลิเคชันเชื่อมโยงกับฐานข้อมูล โดยปกติแล้วฐานข้อมูลใน Visual Studio จะเรียกว่าแหล่งข้อมูลโครงการ ดังนั้นเพื่อให้แน่ใจว่ามีการสร้างการเชื่อมต่อระหว่างแอปพลิเคชันและฐานข้อมูล ขั้นตอนแรกคือการสร้างแหล่งข้อมูลโครงการ

หน้าจอต่อไปนี้จะปรากฏขึ้น คลิกที่ลิงก์ "เพิ่มแหล่งข้อมูลโครงการ" เมื่อคุณคลิกที่แหล่งข้อมูลโครงการ คุณจะเห็นตัวช่วยซึ่งจะช่วยให้คุณกำหนดการเชื่อมต่อฐานข้อมูลได้

การเชื่อมต่อการควบคุมกับข้อมูล

ขั้นตอน 4) เมื่อคุณคลิกลิงก์เพิ่มแหล่งข้อมูลโครงการ คุณจะเห็นตัวช่วยซึ่งจะใช้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล demotb ขั้นตอนต่อไปนี้จะแสดงรายละเอียดสิ่งที่ต้องกำหนดค่าในแต่ละขั้นตอนของตัวช่วย

  1. ในหน้าจอที่ปรากฏขึ้น ให้เลือกประเภทแหล่งข้อมูลเป็นฐานข้อมูล จากนั้นคลิกที่ปุ่มถัดไป

การเชื่อมต่อการควบคุมกับข้อมูล

  1. ในหน้าจอถัดไป คุณต้องเริ่มสร้างสตริงการเชื่อมต่อกับฐานข้อมูล จำเป็นต้องมีสตริงการเชื่อมต่อสำหรับแอปพลิเคชันเพื่อสร้างการเชื่อมต่อกับฐานข้อมูล ประกอบด้วยพารามิเตอร์ต่างๆ เช่น ชื่อเซิร์ฟเวอร์ ชื่อฐานข้อมูล และชื่อของไดรเวอร์
    1. คลิกที่ปุ่มการเชื่อมต่อใหม่
    2. เลือกแหล่งข้อมูลเป็น Microsoft SQL Server
    3. คลิกที่ปุ่มดำเนินการต่อ

การเชื่อมต่อการควบคุมกับข้อมูล

  1. ถัดไป คุณต้องเพิ่มข้อมูลประจำตัวเพื่อเชื่อมต่อกับฐานข้อมูล
    1. เลือกชื่อเซิร์ฟเวอร์ที่มี SQL Server อยู่
    2. กรอก ID ผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับฐานข้อมูล
    3. เลือกฐานข้อมูลเป็น demotb
    4. คลิกปุ่ม 'ตกลง'

การเชื่อมต่อการควบคุมกับข้อมูล

  1. ในหน้าจอนี้ เราจะยืนยันการตั้งค่าทั้งหมดที่เกิดขึ้นบนหน้าจอก่อนหน้า
    1. เลือกตัวเลือก “ใช่” เพื่อรวมข้อมูลที่ละเอียดอ่อนในสตริงการเชื่อมต่อ
    2. คลิกที่ปุ่ม "ถัดไป"

การเชื่อมต่อการควบคุมกับข้อมูล

  1. ในหน้าจอถัดไป คลิกที่ปุ่ม "ถัดไป" เพื่อยืนยันการสร้างสตริงการเชื่อมต่อ

การเชื่อมต่อการควบคุมกับข้อมูล

  1. ในขั้นตอนนี้
  1. เลือกตาราง Demotb ซึ่งจะแสดงในหน้าจอถัดไป
  2. ตารางนี้จะกลายเป็นแหล่งข้อมูลที่มีอยู่ในโครงการ C#

การเชื่อมต่อการควบคุมกับข้อมูล

เมื่อคุณคลิกปุ่มเสร็จสิ้น Visual Studio ตอนนี้จะตรวจสอบให้แน่ใจว่าแอปพลิเคชันสามารถสืบค้นแถวทั้งหมดในตาราง Demotb

ขั้นตอน 5) เมื่อกำหนดแหล่งข้อมูลเรียบร้อยแล้ว ตอนนี้เราต้องเชื่อมต่อกล่องข้อความ TutorialID และ TutorialName เข้ากับตาราง demotb เมื่อคุณคลิกที่คุณสมบัติ Text ของกล่องข้อความ TutorialID หรือ TutorialName คุณจะเห็นว่าแหล่งข้อมูลการผูกกับ Demotb นั้นพร้อมใช้งานแล้ว

สำหรับกล่องข้อความแรก ให้เลือกรหัสการสอน ทำซ้ำขั้นตอนนี้สำหรับกล่องข้อความที่สอง และเลือกฟิลด์เป็นชื่อการสอน ขั้นตอนด้านล่างแสดงให้เห็นว่าเราสามารถนำทางไปยังแต่ละตัวควบคุมและเปลี่ยนแปลงการผูกมัดตามนั้นได้อย่างไร

  1. คลิกที่การควบคุม ID บทช่วยสอน

การเชื่อมต่อการควบคุมกับข้อมูล

  1. ในหน้าต่าง Properties คุณจะเห็นคุณสมบัติของกล่องข้อความ TutorialID ไปที่คุณสมบัติข้อความแล้วคลิกปุ่มลูกศรลง

การเชื่อมต่อการควบคุมกับข้อมูล

  1. เมื่อคุณคลิกปุ่มลูกศรลง คุณจะเห็นตัวเลือก demotbBinding Source และจากนี้ คุณจะเห็นตัวเลือกของ TutorialName และ TutorialID เลือก ID บทช่วยสอนหนึ่งรายการ

การเชื่อมต่อการควบคุมกับข้อมูล

ทำซ้ำ 3 ขั้นตอนข้างต้นสำหรับกล่องข้อความชื่อบทช่วยสอน

  1. คลิกที่กล่องข้อความชื่อบทช่วยสอน
  2. ไปที่หน้าต่างคุณสมบัติ
  3. เลือกคุณสมบัติข้อความ
  4. เลือกตัวเลือก 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 เพื่อแสดงแถวของตารางในรูปแบบคล้ายกริด

C# DataGridView

ขั้นตอน 2) ในขั้นตอนถัดไป เราจำเป็นต้องเชื่อมต่อตารางข้อมูลของเรากับฐานข้อมูล ในส่วนสุดท้าย เราได้สร้างแหล่งข้อมูลโครงการแล้ว ลองใช้แหล่งข้อมูลเดียวกันในตัวอย่างของเรา

  1. ขั้นแรก คุณต้องเลือกตารางและคลิกที่ลูกศรในตาราง นี่จะแสดงตัวเลือกการกำหนดค่ากริดขึ้นมา
  2. ในตัวเลือกการกำหนดค่า เพียงเลือกแหล่งข้อมูลเป็น demotbBindingSource ซึ่งเป็นแหล่งข้อมูลที่สร้างขึ้นในส่วนก่อนหน้า

C# DataGridView

หากดำเนินการตามขั้นตอนข้างต้นทั้งหมดดังที่แสดง คุณจะได้รับผลลัพธ์ตามที่ระบุไว้ด้านล่าง

ผลลัพธ์:-

C# DataGridView

จากผลลัพธ์ คุณจะเห็นว่าตารางนั้นเต็มไปด้วยค่าจากฐานข้อมูล

สรุป

  • C# SQL สามารถทำงานกับฐานข้อมูลเช่น Oracle รวมถึง Microsoft SQL Server.
  • บทช่วยสอนเกี่ยวกับฐานข้อมูล C# นี้มีคำสั่งทั้งหมดที่จำเป็นสำหรับการใช้งานฐานข้อมูล ซึ่งเกี่ยวข้องกับการสร้างการเชื่อมต่อกับฐานข้อมูล คุณสามารถดำเนินการต่างๆ เช่น เลือก อัปเดต แทรก และลบ โดยใช้คำสั่งใน C#
  • วัตถุ DataReader ใน C# ใช้เพื่อเก็บข้อมูลทั้งหมดที่ส่งคืนโดยฐานข้อมูล While loop ใน C# สามารถใช้เพื่ออ่านแถวข้อมูลทีละแถว
  • วัตถุอะแดปเตอร์ข้อมูลใช้ในการดำเนินการ SQL เช่น การแทรก การลบ และการอัพเดตกับฐานข้อมูล
  • C# สามารถผูกตัวควบคุมกับฟิลด์ต่างๆ ในตารางได้ เชื่อมโยงกันด้วยการกำหนดแหล่งข้อมูลใน C# แหล่งข้อมูลใช้เพื่อดึงข้อมูลจากฐานข้อมูลและเติมลงในตัวควบคุม
  • เนวิเกเตอร์การเชื่อมโยงใช้เพื่อนำทางผ่านแถวต่างๆ ในตารางโดยอัตโนมัติ
  • ตารางข้อมูลใน C# สามารถเชื่อมต่อกับฐานข้อมูลและแสดงค่าทั้งหมดจากตารางในรูปแบบตารางได้

อ่านเพิ่มเติม readmore