সি# এ SqlConnection, SqlCommand, এবং SqlDataReader হলো ADO.NET লাইব্রেরির প্রধান উপাদান, যা ডেটাবেস কানেক্টিভিটির জন্য ব্যবহৃত হয়। এগুলোর মাধ্যমে SQL Server ডেটাবেসের সাথে সংযোগ স্থাপন, কুয়েরি এক্সিকিউট করা এবং ডেটা রিড করা সম্ভব হয়।
SqlConnection ক্লাসটি ডেটাবেসের সাথে সংযোগ স্থাপন এবং বন্ধ করার জন্য ব্যবহৃত হয়। SqlConnection
এর মাধ্যমে একটি নির্দিষ্ট ডেটাবেসে কানেক্ট করা সম্ভব হয়, যেখানে কানেকশন স্ট্রিং ব্যবহার করে ডেটাবেসের সার্ভার, ডাটাবেজ নাম, ইউজার এবং পাসওয়ার্ড নির্ধারণ করা হয়।
using System;
using System.Data.SqlClient;
public class Program
{
public static void Main()
{
string connectionString = "Data Source=your_server;Initial Catalog=your_database;User ID=your_username;Password=your_password";
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
Console.WriteLine("Connection established successfully!");
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
}
using
ব্লকের বাইরে গেলে স্বয়ংক্রিয়ভাবে সংযোগ বন্ধ হয়ে যায়।SqlCommand ক্লাসটি SQL কুয়েরি বা কমান্ড এক্সিকিউট করার জন্য ব্যবহৃত হয়। এর মাধ্যমে SELECT
, INSERT
, UPDATE
, DELETE
প্রভৃতি SQL স্টেটমেন্ট চালানো যায়।
using System;
using System.Data.SqlClient;
public class Program
{
public static void Main()
{
string connectionString = "Data Source=your_server;Initial Catalog=your_database;User ID=your_username;Password=your_password";
using (SqlConnection connection = new SqlConnection(connectionString))
{
string query = "INSERT INTO Employees (Name, Age) VALUES (@Name, @Age)";
SqlCommand command = new SqlCommand(query, connection);
// প্যারামিটার সেট করা হচ্ছে
command.Parameters.AddWithValue("@Name", "John Doe");
command.Parameters.AddWithValue("@Age", 30);
try
{
connection.Open();
int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine("Rows affected: " + rowsAffected);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
}
SqlCommand
অবজেক্ট query
এবং connection
প্যারামিটার নিয়ে তৈরি করা হয়েছে।INSERT
, UPDATE
, এবং DELETE
এর মত কমান্ডের জন্য ব্যবহৃত, যা প্রভাবিত রেকর্ডের সংখ্যা প্রদান করে।SqlDataReader ক্লাসটি ডেটাবেস থেকে ডেটা পড়ার জন্য ব্যবহৃত হয়। এটি সাধারণত SELECT
কুয়েরির সাথে ব্যবহৃত হয় এবং রিড-ওনলি (শুধুমাত্র পড়ার জন্য) এবং ফরোয়ার্ড-ওনলি (অগ্রসর মান) ডেটা প্রদান করে। SqlDataReader
ডেটা রিড করার জন্য একটি দ্রুত ও কার্যকরী পদ্ধতি প্রদান করে।
using System;
using System.Data.SqlClient;
public class Program
{
public static void Main()
{
string connectionString = "Data Source=your_server;Initial Catalog=your_database;User ID=your_username;Password=your_password";
using (SqlConnection connection = new SqlConnection(connectionString))
{
string query = "SELECT ID, Name, Age FROM Employees";
SqlCommand command = new SqlCommand(query, connection);
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("ID: " + reader["ID"]);
Console.WriteLine("Name: " + reader["Name"]);
Console.WriteLine("Age: " + reader["Age"]);
Console.WriteLine("--------------------");
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
}
SELECT
কুয়েরি চালানোর জন্য ব্যবহৃত, যা SqlDataReader
অবজেক্ট প্রদান করে।ColumnName
হলো ডেটাবেসের কলামের নাম।ExecuteScalar: একটি একক মান (প্রথম কলাম এবং প্রথম রো) রিটার্ন করতে ব্যবহার করা হয়।
string query = "SELECT COUNT(*) FROM Employees";
SqlCommand command = new SqlCommand(query, connection);
int count = (int)command.ExecuteScalar();
Console.WriteLine("Total Employees: " + count);
ExecuteNonQuery: INSERT
, UPDATE
, এবং DELETE
এর মত স্টেটমেন্ট এক্সিকিউট করতে ব্যবহৃত হয় এবং প্রভাবিত রো সংখ্যা প্রদান করে।
string query = "DELETE FROM Employees WHERE ID = @ID";
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@ID", 1);
int rowsDeleted = command.ExecuteNonQuery();
Console.WriteLine("Rows deleted: " + rowsDeleted);
ক্লাস | ব্যবহার |
---|---|
SqlConnection | ডেটাবেসের সাথে সংযোগ স্থাপন এবং বন্ধ করা |
SqlCommand | SQL কুয়েরি চালানো, যেমন SELECT , INSERT , UPDATE , DELETE |
SqlDataReader | ডেটাবেস থেকে রিড-ওনলি এবং ফরোয়ার্ড-ওনলি ডেটা পড়া |
SqlConnection ডেটাবেসের সাথে সংযোগ স্থাপন করে, SqlCommand এর মাধ্যমে SQL স্টেটমেন্ট এক্সিকিউট করা হয় এবং SqlDataReader এর মাধ্যমে ডেটা পড়া হয়। সি# এ ADO.NET ব্যবহার করে এই ক্লাসগুলো দিয়ে সহজেই ডেটাবেসের সাথে ইন্টারঅ্যাকশন করা যায়, যা ডেটাবেস পরিচালনা সহজ করে তোলে।
আরও দেখুন...