ADO (ActiveX Data Objects) ব্যবহার করে ডেটা ম্যানিপুলেশন

Database Interaction এবং Automation (ডেটাবেস ইন্টারঅ্যাকশন এবং অটোমেশন) - ভিবিএ (VBA) - Computer Programming

393

ADO (ActiveX Data Objects) হল একটি শক্তিশালী টুল যা VBA (Visual Basic for Applications)-এ ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহৃত হয়। ADO এর মাধ্যমে আপনি SQL Server, Access, Excel, MySQL বা অন্য যেকোনো ODBC বা OLE DB সাপোর্টিং ডেটাবেসের সাথে সংযুক্ত হতে এবং ডেটা ম্যানিপুলেট করতে পারবেন। ADO ডেটাবেসের সাথে যোগাযোগ করার জন্য সহজ একটি API সরবরাহ করে যা ব্যবহারকারীকে ডেটা রিট্রিভ (Retrieve), আপডেট, ডিলিট এবং ইনসার্ট করার সুবিধা প্রদান করে।

এখানে, আমরা ADO ব্যবহার করে ডেটা ম্যানিপুলেশন, যেমন ডেটা রিট্রিভাল, ইনসার্ট, আপডেট, এবং ডিলিট করার পদ্ধতিগুলি দেখাবো।


ADO ব্যবহার শুরু করা

ADO ব্যবহার করার জন্য প্রথমে Microsoft ActiveX Data Objects Library রেফারেন্স যোগ করতে হবে:

  1. VBA এ Tools মেনু থেকে References অপশন নির্বাচন করুন।
  2. "Microsoft ActiveX Data Objects 6.1 Library" (বা আপনার সিস্টেমের অনুযায়ী অন্য সংস্করণ) চেক করুন।
  3. OK ক্লিক করুন।

এখন, আপনি ADO এর ফাংশনালিটি ব্যবহার করতে প্রস্তুত।


ADO এর মূল উপাদানগুলি

  1. Connection Object: ডেটাবেসের সাথে সংযোগ স্থাপন করতে ব্যবহৃত হয়।
  2. Recordset Object: ডেটা রিট্রিভ এবং ম্যানিপুলেট করতে ব্যবহৃত হয়।
  3. Command Object: SQL কোয়েরি এক্সিকিউট করতে ব্যবহৃত হয়।
  4. Parameter Object: SQL স্টেটমেন্টে প্যারামিটার ব্যবহার করতে ব্যবহৃত হয়।

ADO দিয়ে ডেটাবেস সংযোগ স্থাপন

  1. Connection Object তৈরি করতে:

    Dim conn As Object
    Set conn = CreateObject("ADODB.Connection")
    
    ' ডেটাবেসের সাথে সংযোগ তৈরি করা
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\your\database.mdb"

এখানে, conn অবজেক্টে Open মেথড ব্যবহার করে একটি Access ডেটাবেসের সাথে সংযোগ স্থাপন করা হয়েছে।


ADO দিয়ে ডেটা রিট্রিভাল (Retrieving Data)

ডেটাবেস থেকে ডেটা রিট্রিভ করার জন্য, Recordset Object ব্যবহার করা হয়। নিচে একটি উদাহরণ দেখানো হলো যেখানে SELECT SQL স্টেটমেন্ট ব্যবহার করে ডেটা রিট্রিভ করা হচ্ছে।

Sub RetrieveData()
    Dim conn As Object
    Dim rs As Object
    Dim sql As String
    
    ' Connection তৈরি করা
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\your\database.mdb"
    
    ' SQL স্টেটমেন্ট সেট করা
    sql = "SELECT * FROM Customers"
    
    ' Recordset তৈরি করা এবং SQL Query চালানো
    Set rs = CreateObject("ADODB.Recordset")
    rs.Open sql, conn
    
    ' ডেটা পড়া এবং প্রদর্শন করা
    Do Until rs.EOF
        MsgBox rs.Fields("CustomerName").Value  ' CustomerName ফিল্ডের মান দেখানো
        rs.MoveNext
    Loop
    
    ' রিসোর্স বন্ধ করা
    rs.Close
    conn.Close
End Sub

এখানে, SELECT * FROM Customers SQL স্টেটমেন্ট ব্যবহার করা হয়েছে এবং Recordset এর মাধ্যমে ডেটা রিট্রিভ করা হয়েছে। rs.Fields("CustomerName").Value দিয়ে CustomerName ফিল্ডের মান পড়া হচ্ছে।


ADO দিয়ে ডেটা ইনসার্ট (Inserting Data)

ডেটাবেসে নতুন রেকর্ড ইনসার্ট করার জন্য INSERT INTO SQL স্টেটমেন্ট ব্যবহার করা হয়।

Sub InsertData()
    Dim conn As Object
    Dim sql As String
    
    ' Connection তৈরি করা
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\your\database.mdb"
    
    ' SQL ইনসার্ট স্টেটমেন্ট তৈরি করা
    sql = "INSERT INTO Customers (CustomerName, ContactName, Country) VALUES ('John Doe', 'John', 'USA')"
    
    ' SQL স্টেটমেন্ট চালানো
    conn.Execute sql
    
    ' রিসোর্স বন্ধ করা
    conn.Close
End Sub

এখানে, INSERT INTO SQL স্টেটমেন্ট ব্যবহার করে Customers টেবিলে একটি নতুন রেকর্ড যোগ করা হচ্ছে। conn.Execute sql এর মাধ্যমে SQL স্টেটমেন্টটি এক্সিকিউট করা হচ্ছে।


ADO দিয়ে ডেটা আপডেট (Updating Data)

ডেটাবেসের কোনো রেকর্ড আপডেট করতে UPDATE SQL স্টেটমেন্ট ব্যবহার করা হয়।

Sub UpdateData()
    Dim conn As Object
    Dim sql As String
    
    ' Connection তৈরি করা
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\your\database.mdb"
    
    ' SQL আপডেট স্টেটমেন্ট তৈরি করা
    sql = "UPDATE Customers SET ContactName = 'Jane Doe' WHERE CustomerName = 'John Doe'"
    
    ' SQL স্টেটমেন্ট চালানো
    conn.Execute sql
    
    ' রিসোর্স বন্ধ করা
    conn.Close
End Sub

এখানে, UPDATE SQL স্টেটমেন্ট ব্যবহার করে Customers টেবিলের CustomerName এর মান John Doe থেকে Jane Doe এ পরিবর্তন করা হয়েছে।


ADO দিয়ে ডেটা ডিলিট (Deleting Data)

ডেটাবেস থেকে কোনো রেকর্ড মুছে ফেলতে DELETE SQL স্টেটমেন্ট ব্যবহার করা হয়।

Sub DeleteData()
    Dim conn As Object
    Dim sql As String
    
    ' Connection তৈরি করা
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\your\database.mdb"
    
    ' SQL ডিলিট স্টেটমেন্ট তৈরি করা
    sql = "DELETE FROM Customers WHERE CustomerName = 'John Doe'"
    
    ' SQL স্টেটমেন্ট চালানো
    conn.Execute sql
    
    ' রিসোর্স বন্ধ করা
    conn.Close
End Sub

এখানে, DELETE SQL স্টেটমেন্ট ব্যবহার করে Customers টেবিল থেকে CustomerName এর মান John Doe এর রেকর্ড মুছে ফেলা হয়েছে।


ADO দিয়ে প্যারামিটারাইজড কুয়েরি (Parameterized Query)

ADO-তে Parameter অবজেক্ট ব্যবহার করে SQL কুয়েরিতে প্যারামিটার ব্যবহার করা যায়। এর মাধ্যমে SQL ইনজেকশন থেকে রক্ষা পাওয়া যায় এবং কোডের নিরাপত্তা বাড়ে।

Sub InsertWithParameter()
    Dim conn As Object
    Dim cmd As Object
    Dim sql As String
    
    ' Connection তৈরি করা
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\your\database.mdb"
    
    ' Command Object তৈরি করা
    Set cmd = CreateObject("ADODB.Command")
    cmd.ActiveConnection = conn
    cmd.CommandText = "INSERT INTO Customers (CustomerName, ContactName, Country) VALUES (?, ?, ?)"
    
    ' Parameters যোগ করা
    cmd.Parameters.Append cmd.CreateParameter(, 8, 1, 255, "John Doe")  ' CustomerName
    cmd.Parameters.Append cmd.CreateParameter(, 8, 1, 255, "John")  ' ContactName
    cmd.Parameters.Append cmd.CreateParameter(, 8, 1, 255, "USA")  ' Country
    
    ' Execute করা
    cmd.Execute
    
    ' রিসোর্স বন্ধ করা
    conn.Close
End Sub

এখানে, CreateParameter মেথড ব্যবহার করে প্যারামিটারযুক্ত কুয়েরি তৈরি করা হয়েছে এবং SQL ইনজেকশন রোধ করা হয়েছে।


উপসংহার

  • ADO ব্যবহার করে আপনি Connection Object, Recordset Object, Command Object ইত্যাদি ব্যবহার করে ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করতে পারেন।
  • ADO দিয়ে SELECT, INSERT, UPDATE, DELETE SQL স্টেটমেন্টগুলো কার্যকর করতে পারেন।
  • Parameterized Queries ব্যবহারের মাধ্যমে আপনি SQL ইনজেকশন রোধ করতে পারেন এবং কোডের নিরাপত্তা বৃদ্ধি করতে পারেন।

ADO ব্যবহার করে ডেটাবেসে ডেটা ম্যানিপুলেট করার মাধ্যমে আপনি এক্সেল বা অন্য ডেটাবেস সিস্টেমের সাথে আরও ইফেক্টিভ

লি কাজ করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...