SQL Server CRUD Operations with C#
Complete CRUD Operations in SQL Server
1. Create SQL Server Database and Table
First, create the database and the Students
table.
CREATE DATABASE CrudDB;
GO
USE CrudDB;
GO
CREATE TABLE Students (
Id INT PRIMARY KEY IDENTITY(1,1),
Name NVARCHAR(100),
Age INT,
Email NVARCHAR(100)
);
2. C# Application for CRUD Operations
This C# code demonstrates how to perform Create, Read, Update, and Delete operations on the Students
table.
using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
static string connectionString = "Server=localhost;Database=CrudDB;Trusted_Connection=True;";
static void Main()
{
while (true)
{
Console.WriteLine("\n--- CRUD Operations ---");
Console.WriteLine("1. Insert");
Console.WriteLine("2. Read");
Console.WriteLine("3. Update");
Console.WriteLine("4. Delete");
Console.WriteLine("5. Exit");
Console.Write("Choose option: ");
string option = Console.ReadLine();
switch (option)
{
case "1":
InsertStudent();
break;
case "2":
ReadStudents();
break;
case "3":
UpdateStudent();
break;
case "4":
DeleteStudent();
break;
case "5":
return;
default:
Console.WriteLine("Invalid option.");
break;
}
}
}
static void InsertStudent()
{
Console.Write("Enter Name: ");
string name = Console.ReadLine();
Console.Write("Enter Age: ");
int age = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter Email: ");
string email = Console.ReadLine();
using (SqlConnection conn = new SqlConnection(connectionString))
{
string query = "INSERT INTO Students (Name, Age, Email) VALUES (@Name, @Age, @Email)";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@Name", name);
cmd.Parameters.AddWithValue("@Age", age);
cmd.Parameters.AddWithValue("@Email", email);
conn.Open();
cmd.ExecuteNonQuery();
Console.WriteLine("Inserted Successfully.");
}
}
static void ReadStudents()
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
string query = "SELECT * FROM Students";
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
Console.WriteLine("\n--- Students List ---");
while (reader.Read())
{
Console.WriteLine($"ID: {reader["Id"]}, Name: {reader["Name"]}, Age: {reader["Age"]}, Email: {reader["Email"]}");
}
}
}
static void UpdateStudent()
{
Console.Write("Enter ID to Update: ");
int id = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter New Name: ");
string name = Console.ReadLine();
Console.Write("Enter New Age: ");
int age = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter New Email: ");
string email = Console.ReadLine();
using (SqlConnection conn = new SqlConnection(connectionString))
{
string query = "UPDATE Students SET Name=@Name, Age=@Age, Email=@Email WHERE Id=@Id";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@Id", id);
cmd.Parameters.AddWithValue("@Name", name);
cmd.Parameters.AddWithValue("@Age", age);
cmd.Parameters.AddWithValue("@Email", email);
conn.Open();
int rows = cmd.ExecuteNonQuery();
if (rows > 0)
Console.WriteLine("Updated Successfully.");
else
Console.WriteLine("Student not found.");
}
}
static void DeleteStudent()
{
Console.Write("Enter ID to Delete: ");
int id = Convert.ToInt32(Console.ReadLine());
using (SqlConnection conn = new SqlConnection(connectionString))
{
string query = "DELETE FROM Students WHERE Id=@Id";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@Id", id);
conn.Open();
int rows = cmd.ExecuteNonQuery();
if (rows > 0)
Console.WriteLine("Deleted Successfully.");
else
Console.WriteLine("Student not found.");
}
}
}