Header Ads

MySQL Database In C# সি শার্প প্রজেক্টে মাইএসকিউএল ডাটাবেইজের ব্যবহার

সি শার্প প্রজেক্টে মাইএসকিউএল ডাটাবেইজের ব্যবহার

সি শার্প টিউটোরিয়ালের আজকের পোষ্টে আমরা দেখব কিভাবে সি শার্প প্রজেক্টে মাইএসকিউএল ডাটাবেইজ ব্যবহার করা হয়। সি শার্পে মাইএসকিউএল ডাটাবেইজ ব্যবহার করার জন্য আমাদেরকে মাইএসকিউএল এর একটা কানেকটর/ড্রাইভার ব্যবহার করতে হবে। যেটা .নেট কানেকটর নামে পরিচিত। আপনাদের যদি মাইএসকিউএল এর .net কানেকটর/ড্রাইভার না থাকে তাহলে পাশের লিংক থেকে কানেকটরটা ডাউনলোড করে নিতে পারেনঃ মাইএসকিউএল কানেকটরের লিংক। যদি কোন কারনে এই লিংকটা কাজ না করে তাহলে গুগলে সার্চ করে ডাউনলোড করতে পারেন।
ডাউনলোড করার পর আমাদেরকে মাইএসকিউএল এর কানেকটরটা ইন্সটল করতে হবে। আশাকরি আপনারা ইন্সটল করার কাজটা করতে পারবেন, তাই সে সম্পর্কে আর কিছু লিখলাম না।
সি শার্পের একটা প্রজেক্টে মাইএসকিউএল ডাটাবেইজ ব্যবহার করার জন্য আমাদেরকে মোটামুটিভাবে নিচের ধাপগুলো অনুসরন করতে হবেঃ
ধাপঃ ১ – প্রজেক্টের ডানপাশের “Solution Explorer” থেকে “References” এর উপর মাউসের রাইট ক্লিক করে “Add Reference” এ সিলেক্ট করতে হবে। কোন কারনে প্রজেক্টের ডানপাশে “Solution Explorer” বার না থাকলে আপনার উপরের মেনুতে “View” তে “Solution Explorer” পাবেন। কিছু না বুঝলে নিচের ছবিগুলো দেখুনঃ
Solution Explorer
Solution Explorer
mysql - 2
ধাপঃ ২ – আপনারা যারা ভিজুয়াল স্টুডিও ২০১০ অথবা আগের ভার্সন ব্যবহার করেন তারা ধাপ ১ শেষে আপনারা নিচের ছবির ডায়লগবক্সটা দেখতে পাবেনঃ
Add Reference Dialog box
Add Reference Dialog box
ধাপঃ ৩ – ডায়লগবক্সটিতে অনেকগুলো ট্যাব আছে। আমাদেরকে “.NET” ট্যাবটা সিলেক্ট করতে হবে। না বুঝলে নিচের ছবিটা দেখুন। ছবিতে যে ট্যাবে কালার করা হয়েছে আমাদেরকে ঐই ট্যাবটা সিলেক্ট করতে হবে।
Add Reference Dialog box
Add Reference Dialog box
ধাপঃ ৪ – উপরের ছবিতে “.NET” ট্যাবটা সিলেক্ট করার পর অনেকগুলো রেফারেন্স দেখা যাচ্ছে। এরপর আমাদেরকে ঐই রেফারেন্স লিস্টের নিচের থেকে মাইএসকিউএল এর “MySql.Data” রেফারেন্সটা সিলেক্ট করতে হবে। রেফারন্স লিস্টের কিছুটা নিচের দিকে গেলে “MySql.Data” রেফারেন্সটা পাওয়া যাবে।

mysql - 4
আপনারা যারা ভিজুয়াল স্টুডিও ২০১৩ ব্যবহার করেন তারা ধাপ ১ শেষে নিচের ডায়ালগ বক্সটা দেখতে পাবেন।
mysql - 5
এরপর ডায়ালগবক্স থেকে “Extensions” এ ট্যাবে যান। “Extensions” ট্যাবে কিছুটা নিচের দিকে গেলে MySql এর অনেকগুলো রেফারেন্স দেখতে পাবেন। এরপর “MySql.Data” রেফারেন্সটা সিলেক্ট করুন।
mysql - 6
ধাপঃ ৫ – এরপর যেসব ফর্ম/ওয়েবপেইজ এ মাইএসকিউএল ডাটাবেইজ ব্যবহার করার প্রয়োজন হবে সেসব ফর্ম/ওয়েবপেইজ এর সোর্সকোড ফাইলে (সোর্সকোড ফাইল না পেলে ফর্ম এর উপর মাউস দুইবার ক্লিক করুন অথবা মাউসের রাইট ক্লিক করে “View Code” সিলেক্ট করুন) নিচের কোডটা লিখতে হবেঃ
1
using MySql.Data.MySqlClient;
এই ধাপগুলো অনুসরন করলে আমাদের প্রজেক্ট মাইএসকিউএল ডাটাবেইজ ব্যবহার করার জন্য তৈরি হয়ে যাবে।
আজকে আমরা শুধুমাত্র ডাটাবেইজের কানেকশনটা টেস্ট করে দেখব। এজন্য আমাদের যা যা লাগবেঃ
১। কানেকশন স্ট্রিং – কানেকশন স্ট্রিং এ আমাদেরকে মাইএসকিউএল ডাটাবেইজের সোর্স/হোস্টের অ্যাড্রেস, সোর্স/হোস্টের পোর্ট নাম্বার, ইউজারের নাম, পাসওয়ার্ড ডিক্লায়ার করতে হবে। কানেকশন স্ট্রিংটা আমরা একটা স্ট্রিং ভ্যারিয়েবলে রাখব। যেমনঃ
1
string connStr = “datasource = datasoure_address; port= port_number;  username = username; password = ****”;
আপনার ডাটাসোর্স যদি localhost হয় এবং আপনি যদি ডাটাসোর্সের কোন কিছু পরিবর্তন না করেন তাহলে port হবে 3306, username হবে root এবং password এ কিছু থাকবে না [যদি আপনি কোন পাসওয়ার্ড সেট না করেন]। সেক্ষেত্রে আমরা উপরের কানেকশন স্ট্রিংটাকে একটু পরিবর্তন করে localhost এর জন্য এইভাবে লিখতে পারিঃ
1
string connStr = “datasource = localhost; port= 3306;  username = root; password = ;”;
২। মাইএসকিউএল কানেকশনঃ এরপর আমাদেরকে MySqlConnection ক্লাসের একটা ইন্সট্যান্স ডিক্লায়ার করতে হবে। যেমনঃ
1
MySqlConnection conn = new MySqlConnection(string parameter);
এই ইন্সট্যান্স ডিক্লায়ার করার সময় আমাদেরকে একটা স্ট্রিং প্যারামিটার দিতে হবে। এই প্যারামিটারটা হবে কানেকশন স্ট্রিং। আমরা তাহলে উপরের ইন্সট্যান্সটা এইভাবে লিখতে পারিঃ
1
MySqlConnection conn = new MySqlConnection(connStr);
connStr ব্যবহার করার কারন হল আমরা আমাদের কানেকশন স্ট্রিংটাকে connStr ভ্যারিয়েবলে রেখেছি।
৩। মাইএসকিউএল ডাটাবেইজের কানেকশন টেষ্ট করার জন্য আমাদেরকে আপাতত আর কোন কিছু ডিক্লায়ার করতে হবে না। টেষ্টটা আমরা সবসময় সি শার্পের try-catch ব্লকের মধ্যে করব। সেক্ষেত্রে try ব্লকে আমাদের ডাটাবেইজের কানেকশন টেষ্টের সাথে সম্পর্কিত সবগুলো কোড লিখতে হবে আর catch ব্লকে শুধুমাত্র কোন এরর থাকলে কি ম্যাসেজ দিবে তার কোড লিখব। ডাটাবেইজের কানেকশন টেষ্ট করার জন্য অথবা ডাটাবেইজের সাথে সম্পর্কিত কোন কাজ করার জন্য শুরুতে আমাদেরকে ডাটাবেইজের কানেকশন অন করতে হবে যেটার জন্য আমাদেরকে ক্লাসের Open() ফাংশনটা কল করতে হবে।
এরপর আমরা আমাদের ডাটাবেইজের কাজগুলো করব (যেমনঃ ডাটা ইনসার্ট করা, সিলেক্ট করা, ডিলিট করা অথবা আপডেট করা), যেহেতু এই পোষ্টে আমরা শুধু কানেকশনটা টেষ্ট করব সেহেতু একটা ম্যাসেজ প্রিন্ট করাটাই হল আজকের পোষ্টে ডাটাবেইজের কাজ।
এরপর ডাটাবেইজের কাজ শেষ হলে আমাদেরকে ডাটাবেইজের কানেকশন অফ করে দিতে হবে যেটার জন্য আমাদেরকে ক্লাসের Close() ফাংশনটা কল করতে হবে।
সেক্ষেত্রে একটা কোড হতে পারে এই রকমঃ
1
2
3
4
5
6
7
8
9
10
try
{
      conn.Open();
      MessageBox.Show("Connection OK", "Success");
      conn.Close();
}
catch (MySqlException Ex)
{
      MessageBox.Show(Ex.Message, "Error");
}
সম্পূর্ন কোডঃ এক্ষেত্রে আমরা একটা বাটনের জন্য কোডটা লিখছি।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button_mysql_connection_Click(object sender, EventArgs e)
        {
            string connStr = "datasource = localhost; port=3306; username=root; password=;";
            MySqlConnection conn = new MySqlConnection(connStr);
            try
            {
                conn.Open();
                MessageBox.Show("Connection OK", "Success");
                conn.Close();
            }
            catch (MySqlException Ex)
            {
                MessageBox.Show(Ex.Message, "Error");
            }
        }
    }
}
আশাকরি আজকের পোষ্টটা আপনারা সবাই বুঝতে পারছেন। পরবর্তি পোষ্টে আমরা সি শার্প প্রজেক্টে মাইএসকিউএল ডাটাবেইজের অন্য অপারেশনগুলোর কাজ কিভাবে করতে হয় তা দেখব।

No comments

Powered by Blogger.