منتدى فيجوال بيسك لكل العرب
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
بحـث
 
 

نتائج البحث
 


Rechercher بحث متقدم

سحابة الكلمات الدلالية

للزواج  الحبيب  ايات  2015  بالصورة  مغربي  لجلب  

المواضيع الأخيرة
» شيخ روحاني مغربي صادق والدفع بعد النتيجه
للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Icon_minitimeالأربعاء يوليو 26, 2023 1:31 pm من طرف عبقرينو

» اصدق واقوي واسرع كشف عن طريق الهاتف مباشرة
للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Icon_minitimeالسبت يوليو 22, 2023 2:33 pm من طرف عبقرينو

» سحر جلب الزوج
للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Icon_minitimeالثلاثاء يوليو 18, 2023 11:44 am من طرف عبقرينو

» ادعية لجلب الحبيب
للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Icon_minitimeالسبت مايو 27, 2023 1:27 pm من طرف عبقرينو

» شيخ لجلب الحبيب نجران
للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Icon_minitimeالثلاثاء مايو 23, 2023 11:24 am من طرف عبقرينو

» أفضل شيخ روحاني في سوسة
للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Icon_minitimeالأربعاء أبريل 12, 2023 1:36 am من طرف عبقرينو

» أفضل شيخ روحاني في طنجة
للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Icon_minitimeالإثنين مارس 13, 2023 4:57 pm من طرف عبقرينو

» حجاب السيف الأعظم
للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Icon_minitimeالأحد فبراير 12, 2023 9:44 am من طرف عبقرينو

» معالج روحاني في مكه الشيخ الروحاني ابو حمزة المغربي
للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Icon_minitimeالإثنين فبراير 06, 2023 7:59 pm من طرف عبقرينو


للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها

اذهب الى الأسفل

للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها Empty للمبتدئين في السي شارب _ كيفية الاتصال بقاعدة البيانات والتعامل معها

مُساهمة من طرف Admin الإثنين أكتوبر 17, 2022 11:55 am

السلام عليكم ورحمة الله وبرحمة الله وبركاته
لا جديد في هذا المجال انما هي محاولة لتبسيط الامر أكثر مماهو بسيط أساساً في التعامل مع قواعد البيانات باستخدام ADO.NET
من المؤكد قد سبقني اخواني بشرح هذه المسألة مرات ومرات لكن من باب التذكير لا أكثر
سنستخدم سي شارب نعم ذاك البعبع الذي كنت لا اطيق منظر اي محرر كود مليء بالاقواس والفاصلة المنقوطة وجملة اللوب الغريبة الشكل
وسنرى بالتطبيق العملي كيف أنه اسهل بكثير من الفيجوال بيسك نعم نعم انا كنت مثلك أكره السي شارب ولكن الفيجوال بيسك لا تكمل معك المشوار اذا كان طموحك
اكبر من إنشاء برامج للويندوز فقط فالعالم تتسع افاقه كل يوم ونحن اصحاب البيسك مكانك سر !!!
تعال معي

انشيء قاعدة بيانات ليكن اسمها مثلا
xx.mdb

وننشيء بداخلها جدول بسيط عبارة عن ثلاثة حقول ونسميهم كما في الصورة ادناه


الان اغلق قاعدة البيانات هذه وتوجه نح الفيجوال استوديو واتبع ما في الصورة الاتية


بعد ذلك بارك الله فيك اضف للفورم DataGirdview فقط
سأتجاوز عرض الصورة هنا وسنضيف كلاس للمشروع كالتالي

ثم نكمل الخطوة الاخيرة

الان اذهب للكلاس الذي انشأناه وانسخ كامل الكلاس من هنا
PHP كود :
// سنحتاج للمكتبتين التاليتين
using System.Data;
using System.Data.OleDb;
   // اسم الكلاس Connection
   class Connection
   {
       // تغير اسم قاعدة البيانات حسب ما لديك
       string db = ".\\xx.mdb";
       // عندما يكون للقاعدة كلمة مرور
       string pass = "***";
       // اذا كانت قاعدة البيانات 2007 فأعلى
       string pv = "Microsoft.Ace.OLEDB.12.0";
       // اذا كانت البيانات أقديم من 2007
       string pv1 = "Microsoft.Jet.OLEDB.4.0";
       //تعريف المعاملات للاتصال باقاعدة والجدول
    // الاتصال بالقاعدة
       public OleDbConnection Cn = new OleDbConnection();
       // للاتصال بالجدول والعمليات عليه
       public OleDbCommand Cmd = new OleDbCommand();
       // نعرف الداتا تيبل لاستخدمها في عرض البيانات مثلا في جريد فيو
       public DataTable dt = new DataTable();
       // الان نكتب كود الاتصال والتهيئة لاجراء العمليات
       // عرض
       //بحث
       //اضافة
       // حذف
       // تعديل
        // كل تلك العمليات تمر في الجملة SQL
        //مهمة الكود أدناة تنفيذ ما تأمره به في الجملة
        // في الفورم سنتعرف على العمليات
           public void Rec(string SQL)
       {
           Cn.ResetState();
       //هنا سأتصل بقاعدة بيانات 203
           Cn.ConnectionString = ("Provider="+pv1+";Data Source=" + db+"; user id=admin;jet oledb:database password="+pass);    
       // نفتح الاتصال بقاعدة البيانات  
           Cn.Open();
       // نجهز معامل الاتصال بالجداول بالشكل التالي
           Cmd.Connection = Cn;
       Cmd.CommandText = (SQL);
   }          
   }
نغلق الكلاس الان ونتوجه للفورم ودبل كلك عليه لنجد امامنا محرر الكود نمسح جميع ما به ونلصق الكود التالي باعتباره Form1
PHP كود :
using System;
using System.ComponentModel;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
   public partial class Form1 : Form
   {
       // نبدأ باستدعاء الكلاس الذي اعددنا مسبقا بالشكل الاتي
       Connection con = new Connection();
      // بهذا الشكل سيصبح الكلاس كأي اداة لها وظائف وخصائص
       public Form1()
       {
           InitializeComponent();
       }

       private void Form1_Load(object sender, EventArgs e)
       {
           // هنا سنقوم بعملية استعلام عادية جداً انظر للجملة بين الاقواس
           con.Rec("select * from Users");
           // في الكود التالي نقوم بملء الداتا تيبل بنتيجة الجملة السابقة
           con.dt.Load(con.Cmd.ExecuteReader());
           // أخيرا سنعرض النتائج في الجريد فيو
           dataGridView1.DataSource = con.dt;
             // نغلق الاتصال فلم نعد بحاجة إليه
           con.Cn.Close();
           // ننهي كذلك معامل الاتصال من الذاكرة
           con.Cmd.Dispose();
           // شغل المشروع وشاهد
       }

       private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
       {

       }
   }
}

الان نذهب لقاعدة البيانات التي انشأناها وننسخها الى مجلد المشروع في مجلد Debug الموجود داخل المجلد Bin
نشغل المشروع ونتأكد من الاتصال وعرض الجدول الفارغ من البيانات على اداة عرض البيانات DataGirdView


إن شاء الله اذا كان فيه تفاعل ولو بسيط سيصبح هذا المشروع شيء ذا قيمة فقد بدأنا بعداد فقط جدول مستخدمين
وجداول المستخدمين هي نواة بنية اي مشروع كبير ادارة محل مبيعات
ادارة طلاب
ادارة مكتبات الخ...
آخذ نفس ونكمل طبعا شرح كل سطر من الكود موجود معاه
بالمناسبة لا يهم اصدار الفيجوال استوديو ايّاً كان
فاصل ونواصل !
عدنا والعود أحمد بحمد الله

الان دبل كلك على البتن ونكتب كود الاضافة بالشكل التالي
PHP كود :
//كود الاصافة في الجدول تحت حد البتن كلك
       private void button1_Click(object sender, EventArgs e)
       {
           //نستدعي الاجراء من الكلاس ونكتب جملة الاضافة بالشكل التالي
           con.Rec("Insert into Users (Username,Pass) Values (@Username,@Pass)");
           // نضيف الباراميترات الى الحقول
           con.Cmd.Parameters.AddWithValue("@Username", textBox1.Text);
           con.Cmd.Parameters.AddWithValue("@Pass", textBox2.Text);
           con.Cmd.ExecuteNonQuery();
           // نغلق الاتصال فلم نعد بحاجة إليه
           con.Cn.Close();
           // ننهي كذلك معامل الاتصال من الذاكرة
           con.Cmd.Dispose();
           //بعد عملية الاضافة نحن بحاجة لعرض البيانات في الجريد فيو فنوقم باستدعاء حدث الفورم لود بالشكل التالي
   con.dt.Clear();
           Form1_Load(sender, e);
       }
شغل المشروع واختبر كود الاضافة


الان بعد ان استطعنا الاضافة  نعمل على الحذف والحذف سيكون بطريقة مختلفة نوعا ما عن الطرق التقليدية بوضع بتن و و و
سنقوم بعمل كود الحذف في الحدث دبل كلك للجريد فيو كالتالي
PHP كود :
    // الان للحذف سنقوم بدبل كلك على السف في الجريد
       //وتظهر لنا رسالة بالموافق على الحذف من عدمه
       private void dataGridView1_DoubleClick(object sender, EventArgs e)
       {
           try
           {
               // لايجاد قيمة الخلية الاولى التي تمثل قيمة حقل الاندكس في الجدول
               int indx = int.Parse(dataGridView1.SelectedRows[0].Cells[0].Value.ToString());
               string name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();

               //انشاء رسالة التنبيه
               DialogResult  result = MessageBox.Show(" هل ترغب بحذف السجل رقم "+indx.ToString() +" " + name,"تنبيه",MessageBoxButtons.YesNo);
              // الشرط التالي اذا كان الاختيار للبتن لا سنغلي الاجراء بالكامل
               if (result == DialogResult.No) {
                   return;
               }
               // في حال ال    غط على الموافقة سنقوم بحذف السجل كالتاالي
               con.Rec("Delete * from Users where id=" + indx);
               con.Cmd.ExecuteNonQuery();
               con.Cn.Close();
               con.Cmd.Dispose();
               // نقرأ البيانات بعد الحذف من الجدول
               con.dt.Clear();
               Form1_Load(sender, e);

           }
           catch { }
 
       }
نشغل المشروع ونتاب

Admin
Admin

المساهمات : 18
تاريخ التسجيل : 17/10/2022

https://vigualbisic.ahlamontada.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى