Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การดำเนินการฐานข้อมูล (Database Operations) ใน C#

การทำงานกับฐานข้อมูลใน C# มักใช้ ADO.NET หรือ Entity Framework Core (แนะนำสำหรับโปรเจกต์ใหม่) ฐานข้อมูลยอดนิยมคือ SQL Server, PostgreSQL, MySQL, SQLite

ขั้นตอนพื้นฐานกับ ADO.NET

1. เชื่อมต่อ (Connection)

string connectionString = "Server=localhost;Database=MyDb;User=sa;Password=****;TrustServerCertificate=True;";

using (SqlConnection conn = new SqlConnection(connectionString))
{
    conn.Open();
    // ทำงานกับฐานข้อมูล
}

2. Select - ดึงข้อมูล

string sql = "SELECT Id, Name FROM Users WHERE Active = 1";
using (SqlCommand cmd = new SqlCommand(sql, conn))
using (SqlDataReader reader = cmd.ExecuteReader())
{
    while (reader.Read())
    {
        Console.WriteLine($"{reader["Id"]}: {reader["Name"]}");
    }
}

3. Insert - เพิ่มข้อมูล

string sql = "INSERT INTO Users (Name, Email) VALUES (@Name, @Email)";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
    cmd.Parameters.AddWithValue("@Name", "John");
    cmd.Parameters.AddWithValue("@Email", "john@example.com");
    int rows = cmd.ExecuteNonQuery();
}

4. Update - อัปเดตข้อมูล

string sql = "UPDATE Users SET Name = @Name WHERE Id = @Id";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
    cmd.Parameters.AddWithValue("@Name", "Jane");
    cmd.Parameters.AddWithValue("@Id", 1);
    cmd.ExecuteNonQuery();
}

5. Delete - ลบข้อมูล

string sql = "DELETE FROM Users WHERE Id = @Id";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
    cmd.Parameters.AddWithValue("@Id", 1);
    cmd.ExecuteNonQuery();
}

แนวทางปฏิบัติที่ดี (Best Practices)

  • ใช้ Parameterized Queries ป้องกัน SQL Injection
  • ใช้ using บล็อก เพื่อ Dispose Connection/Command อัตโนมัติ
  • ใช้ Entity Framework Core สำหรับโปรเจกต์ใหม่ (ORM, LINQ, Migration)
  • จัดการ Exception และ Transaction ให้เหมาะสม
  • เก็บ Connection String ใน Configuration (appsettings.json, User Secrets)