using System.Data.SqlClient;
using System.Data;
اولا: تكوين الاتصال والارتباط بسرفر قاعدة البيانات
بعد انشاء الكائن (object) sqlconn من الكلاس الخاص بتكوين الاتصال SqlConnection انشئ المشيد(Constructor) للكلاس وعرف كائن الاتصال الذي مشيده يستقبل نص الاتصال كالتالي :
public class DBHelper
{
SqlConnection sqlconn;
public DBHelper()
{
sqlconn = new SqlConnection(@"server=.\HABIB;Database=Product_DB;integrated security=true;");
}
}
طبعا في نص الاتصال الذي يستقبل البيانات التالية: server نسندله عنوان الجهاز متبوع ب (/) ثم اسم السيرفر طبعا عنوان السيرفر (عنوان الجهاز المثبت عليه نظام SQL SERVER) ممكن يكون ip او اسم جهازك او (.) التي تعني الجهاز المحلي localhost
Database اسم قاعدة البيانات
integrated security نسند القيمة true اذا كنا نستخدم windows authentication او false اذا اردنا عمل مستخدم وكلمة سر للسيرفر نضيف userID , password كالتالي :
sqlconn = new SqlConnection(@"server=.\HABIB;Database=Product_DB;integrated security=false;userID=habib; password=12345;");
انشاء دالة فتح الاتصال مع سيرفر قاعدة البيانات
public void open()
{
if (sqlconn.State == ConnectionState.Closed)
{
sqlconn.Open();
}
}
انشاء دالة اغلاق الاتصال مع قاعدة البيانات
public void close()
{
if (sqlconn.State == ConnectionState.Open)
{
sqlconn.Close();
}
}
انشاء دالة تقوم بتنفيذ كل من ادخال البيانات وتحديثها وحذفها كالتالي:
//Method insert to table and update and delete
public int ExececuteNonQuery(string query)
{
SqlCommand cmd = new SqlCommand(query, sqlconn);
open(); // فتح الاتصال
int done =cmd.ExecuteNonQuery();
close(); // اغلاق الاتصال
return done;
}
انشاء دالة تقوم بتنفيذ اوامر select وترجع الناتج في جدول من خلال الكلاس DataTable
//Method Execute Select command
public DataTable ExecSelect(string query)
{
SqlCommand cmd = new SqlCommand(query, sqlconn);
open(); // فتح الاتصال
SqlDataReader sdr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(sdr); // قراءة البيانات الى كائن الجدول .
close(); // اغلاق الاتصال
return dt; // ارجاع الجدول.
}
الان بعد الانتهاء من انشاء كلاس التعامل مع قاعدة البيانات الذي يدعى Data Access Layer يمكن الان استدعاء الكلاس و تجربة مثال لكل من الادخال والتعديل والحذف واسترجاع البيانات
طبعا انشئ اي حدث للتنفيذ في الفورم وضع احدى الاكواد التالية داخلة لتنفيذها مثلا هنا استخدمنا حدث تحميل الفورم Form_load بالضغظ على الفورم مرتين يفتح الحدث مباشرة كالتالي:
private void Form1_Load(object sender, EventArgs e)
{
اكتب الكود هنا
}
تنفيذ ادخال البيانات الى الجدول :
DBHelper db = new DBHelper(); // تعريف كائن من الكلاس لتنفيذ الاوامر عليه
string sql_insert_cmd = "INSERT INTO USERS (ID,PWD,UserType) VALUES ('HABIB','12345','user');"; //نص الاستعلام
if (db.ExececuteNonQuery(sql_insert_cmd) != 0)
{
MessageBox.Show("inserted data"); // عند نجاح التنفيذ يعرض الرسالة
}
تنفيذ تحديث البيانات (تعديلها)
DBHelper db = new DBHelper();
string sql_update = "UPDATE USERS SET PWD = '10000' WHERE ID ='admin';";
if (db.ExececuteNonQuery(sql_update) != 0)
{
MessageBox.Show("updated data");
}
تنفيذ حذف البيانات من الجدول
DBHelper db = new DBHelper();
string sql_delete = "DELETE FROM USERS WHERE ID ='HABIB';";
if (db.ExececuteNonQuery(sql_delete) != 0)
{
MessageBox.Show("Deleted data");
}
تنفيذ استرجاع البيانات من الجدول وعرضها على DataGridView
اذهب الى ToolBox , واضف الاداة DataGridView الى الفورم ، كما هو ظاهر على صورة الدرس .
DBHelper db = new DBHelper();
string selectdata = "SELECT * FROM USERS";
// انشاء وتعريف كائن من كلاس الجدول DataTable
DataTable DT=new DataTable();
// استقبال البيانات من دالة تنفيذ استعلام استرجاع البيانات الى كائن الجدول.
DT = db.ExecSelect(selectdata);
// اضافة الجدول لل DataGridView لعرضها على الفورم.
dataGridView1.DataSource = DT;
الى هنا انتهينا من الدرس واتمنى يكون اعجبكم ، واي استفسار ضعوه في تعليق .للمزيد من الدروس تابعونا على صفحة الموقع