গত পর্বে ডাটাবেজের সাথে একটি উইন্ডোজ অ্যাপ্লিকেশনের সংযোগ স্থাপন করে ডাটা সংরক্ষণ ও তা ব্যবহার করা সম্পর্কে আলোচনা করা হয়েছিল৷ এই পর্বে ডাটাবেজের ডাটা ব্যবহার করার জন্য ব্যবহৃত কয়েকটি কম্পোনেন্ট সম্পর্কে আলোচনা করা হয়েছে৷ ভিজ্যুয়াল বেসিক ২০০৫-এ ফরমের বিভিন্ন কন্ট্রোল ব্যবহার করার জন্য Dataset, BindingSource, BindingNavigator ইত্যাদি কম্পোনেন্ট ব্যবহার হয়৷ এই কম্পোনেন্টগুলো টুলবক্সের ডাটা ট্যাবের মধ্যে থাকে৷
Dataset কম্পোনেন্ট
Dataset কম্পোনেন্ট হলো অস্থায়ী মেমরিতে অবস্থিত ডাটার সমাহার৷ এটি ডাটাবেজের কোনো টেবলে ডাটা সংরক্ষণে বা সংরক্ষিত ডাটাকে ফরমে কোনো কন্ট্রোলে দেখানোর জন্য ব্যবহার হয়৷ এর সব ডাটা অস্থায়ী মেমরিতে এক্সএমএল রূপে থাকে৷ তাই খুব দ্রুত ও সহজে ডাটাগুলো সংরক্ষণ করা বা সংরক্ষিত ডাটা ব্যবহার করা যায়৷ এছাড়াও ডাটাগুলো এক্সএমএল ফরমেটে থাকায় নেটওয়ার্কেও দ্রুত আদান-প্রদান করা সম্ভব হয়৷
Dataset-এ ডাটা লোড ও কন্ট্রোলে ব্যবহার করা
প্রথমে উইন্ডোজ অ্যাপ্লিকেশন প্রজেক্টে একটি ফরম নিয়ে তার মধ্যে একটি DataGridView কন্ট্রোল নিতে হবে৷ এছাড়া আরেকটি Button কন্ট্রোল নিয়ে পাশের চিত্রের মতো ফরমটি ডিজাইন করে নিতে হবে৷
এরপর DataGridView ও Button কন্ট্রোলটির প্রোপার্টিতে নিচের পরিবর্তনগুলো আনতে হবে৷
ডাটাবেজের ডাটা Dataset-এ লোড করার জন্য একটি Data Adapter ব্যবহার করা হয়, যা ডাটাকে অস্থায়ী মেমরিতে নিয়ে আসে৷ ফরমটি লোড করার সময় ডাটাবেজের সাথে কানেকশন দেয়ার জন্য প্রয়োজনীয় কানেকশন স্ট্রিংটি একটি কানেকশন অবজেক্টে রেখে দেয়া হয়৷
Imports System.Data
Public Class Form1
Dim con As New OleDb.OleDbConnection
Private Sub Form4_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\school.mdb; User Id=admin; Password=;"
End Sub
End Class
কানেকশন অবজেক্টটি ব্যবহার করে OLEDB ডাটা অ্যাডাপ্টার দিয়ে ডাটাসেটটি লোড করা হয়৷ এরপর ডাটাসেটটিকে DataGridView-এর ডাটা সোর্স হিসেবে দেখানো হয়৷ এর ফলে গ্রিডভিউতে ডাটাগুলো দেখা যায়৷
Private Sub btnLoad_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnLoad.Click
Dim da As OleDb.OleDbDataAdapter
Dim ds As New DataSet
Loading the data adapter
da = New OleDb.OleDbDataAdapter("SELECT * FROM Student;", con)
Fills the Dataset
da.Fill(ds)
Assigns GridView Data Source
dgvStudent.DataSource = ds
End Sub
কোডটি যথাযথভাবে কাজ করার জন্য school.mdb নামের এক্সেস ডাটাবেজ ফাইলে Student নামে একটি টেবল তৈরি করে নিতে হবে এবং এই টেবলে কিছু ডাটা সংরক্ষণ করতে হবে৷
BindingSource কম্পোনেন্ট
এই কম্পোনেন্টটি ফরমের কন্ট্রোল ও কন্ট্রোলের ডাটা সোর্সের মধ্যে যোগাযোগ স্থাপন করে৷ কন্ট্রোল থেকে ডাটা পর্যায়ে যেকোনো কাজ করার জন্য এ কম্পোনেন্ট ব্যবহার করা হয়৷ যেমন : DataGridView-তে দেখানো ডাটাগুলোর কোনো একটি কলামকে সর্টিং করার প্রয়োজন হলো৷ তখন BindingSource-এর মাধ্যমে এ কাজটি সম্পাদন করা হয়৷
উপরের গ্রিডভিউতে দেখানো রেকর্ডগুলোকে নাম অনুসারে সর্টিং করার জন্য নিচের কাজগুলো করতে হবে৷ ক. ফরমে একটি Button কন্ট্রোল নিয়ে এর টেক্সট প্রোপার্টিতে Sort By Name টাইপ করতে হবে এবং একটি BidingSource যুক্ত করতে হবে৷ খ. বাটনটির ক্লিক ইভেন্টে নিচের কোডগুলো লিখতে হবে৷
যেহেতু একই ডাটাসেট ব্যবহার করা হবে, তাই গ্রিডভিউ কন্ট্রোলে ডাটা সোর্স দেখানোর সময়ই BindingSource-এর ডাটা সোর্সও দেখিয়ে দিতে হবে৷
ADD THE NEXT TWO LINES TO btnLoad_Click
Assigns BindingSource Data Source
BindingSource1.DataSource = ds
Private Sub btnSort_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSort.Click
BindingSource1.Sort = "sName"
dgvStudent.DataSource = BindingSource1
End Sub
প্রোগ্রামটি রান করিয়ে প্রথমে গ্রিডভিউতে ডাটা লোড করতে হবে৷ তারপর নাম অনুসারে সর্টিংয়ের জন্য বাটনে ক্লিক করতে হবে৷
BindingNavigator কম্পোনেন্ট
এই কম্পোনেন্টটি একটি স্ট্যান্ডার্ড ইউজার ইন্টারফেস, যা ডাটাসোর্সের রেকর্ডগুলোকে পর্যায়ক্রমে দেখানোর কাজে ব্যবহার করা হয়৷ কোনো ফরমে একটি রেকর্ড দেখানোর ব্যবস্থা থাকলে একের পর এক রেকর্ড দেখার জন্য এটি ব্যবহার করা যায়৷ এই কম্পোনেন্টটি ডাটাগ্রিডভিউ-এর মতো BindingSource কম্পোনেন্টের সাথে সংযুক্ত থাকে৷ নেভিগেটরের নেক্সট বাটনে ক্লিক করলেই BindingSource কম্পোনেন্টের মাধ্যমে ডাটা সোর্সকে একটি Request পাঠানো হয় এবং তা পরবর্তী রেকর্ড ফেরত দেয়৷
উইন্ডোজ প্রজেক্টে যদি Server Explorer ব্যবহার করে ডাটাবেজের সাথে সংযোগ স্থাপন করা হয় তাহলে সরাসরি সেখান থেকে এই কম্পোনেন্টগুলো ব্যবহার করা যায়৷
ডাটাগ্রিডভিউ কন্ট্রোলটি ফরমে যুক্ত করার সময় স্বয়ংক্রিয়ভাবে Task নামের একটি ডায়ালগবক্স আসে৷ এর মাধ্যমেও ডাটাবেজের ডাটা এক্সেস করা যায়৷ Choose Data Source ড্রপডাউন লিস্ট থেকে ডাটা সোর্স যুক্ত করতে Add Project Data Source লিঙ্কটিকে সিলেক্ট করতে হবে৷ এরপর Date Source Configuration উইজার্ড আসলে নির্দিষ্ট ডাটাবেজকে ব্রাউজ করে দেখিয়ে দিতে হয় এবং ডাটা সোর্সটি প্রজেক্টে সংযুক্ত হয়ে যায়৷
ফিডব্যাক : morufn@gmail.com