تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
صمم الكلاس الخاص بك - كلاس للتعامل مع SQL SERVER
#2
تقديم لفكرة الكلاس
الغاية من تصميم هذا الكلاس هي للاتصال بـ SQL SERVER و من ثم الحصول على قواعد البيانات فيه
و التعامل مع قاعدة يحددها المبرمج و استجلاب جداولها او اي جدول تحدده انت
و من ثم استجلاب كل حقول الجدول او الحقول التي تحددها انت
ومن ثم عمل خصائص للحقول للتعامل معها من حيث الاضافة و الحذف و التعديل
ملاحظة: للذين يعملون مع برامج قواعد البيانات الخاصة بـ SQL SERVER الكل يعرف انني اذا اردت التعامل مع جدول ما من خلال برنامجي فان هناك العديد من الطرق منها 
يحبذ البعض كتابة نص الاتصال الى القاعدة المحددة و من ثم كتابة جمل الاستعلام الخاصة به لجلب البيانات و من ثم التعامل مع كائنات لغة البرمجة التي تستقبل جمل استعلام SQL و من ثم تنفيذ هذه الجمل سواء كانت للاضافة او الحذف او التعديل
و البعض الاخر يعمل وفق تقنيات حديثة تقضي بعمل كائن مشابه للجدول او القاعدة (اقصد هنا تقنية التعامل مع لغة Linq) و يكون هذا الكائن بالاساس مشابه للاصل و لكن ضمن وحدة برمجية Class و ضمن هذا الكلاس يتم فرض هيكلية كاملة للقاعدة بكل ما تحويه من جداول و علاقات و حقول و اجراءات و وظائف  و كل شيئ
و فق خصائص و طرق عندها تصبح هذه الوحدة تحتوي على كائنات معرفة بشكل مستقل ضمن اللغة (كما كان يحدث مع تقنية المعالج) عند هذه النقطة يمكن للمبرمج ان يستغني عن تقنية SQL و يتخاطب مع الكائنات الجديدة وفق لغة خاصة Linq اذا ان الوصول للكائنات الجديدة اصبح متاح و بشكل يسير كوننا قمنا بتعريفها ضمن فئات خاصة لذا ستجد ان محرر الكود سيدعم لك الوصول السريع لهذه الكائنات , كل هذا جميل و رائع لكن توقف لحظة ما الذي سيجري في الخلفية من سيتخاطب مع القاعدة و باي لغة ؟؟ لا تتعب نفسك اخي الكريم القاعدة لا تفهم الا لغة واحدة SQL الفرق الوحيد انك لن تحتاج الى تعلم SQL اذا ما كنت جاهلا بها سيتكفل محرك اللغة بالقيام باي عمليات خاصة مع القاعدة وفق SQL (عود على بدء).

لكي تتضح الامور اكثر سنقوم بالشرح وفق كل كود سنتعامل معه و ستتوفر لدينا الكثير من المعلومات الجيدة اذا كنت تنوي المتابعة معي و ستفهم آلية العمل بشكل مفصل يمكنك من توسيع الكلاس الذي سنقوم بعمله هنا لناسب حاجتك.

اولا قم بانشاء مشروع جديد من النوع Class Library
ثم سميه ServSite او اي اسم يعجبك هذا الاسم اخترته لان هناك جزئية تختص بالسيرفر ربما اذا توفر لدي الوقت ساتكلم عنه لاحقا
الان اصبح لديك Class جديد في المشروع اسمه ServSite
هذا الكلاس ساستخدمه للاتصال بالسيرفر لجلب السيرفرات المثبته على الجهاز و تاسيس الاتصال مع السيرفر المطلوب و من ثم جلب القواعد و تاسيس اتصال مع قاعدة محددة و استجلاب جداولها و التعامل مع جدول محدد فقط.
و سيكون لدي كلاس اخر في المشروع يختص بالعمليات على قواعد البيانات سيرث خصائص من الكلاس السابق ServSite

في البداية اذا كنت لم تتطلع على هذا الموضوع هنا الغزل مع SQL SERVER
انصحك بقرائته لانني قمت بشرحه بشكل مفصل لتعرف طريقة الاتصال باي سيرفرات مثبته على الجهاز



مادامت الاكواد تخدمني لعمل اتصال باي سيرفر و تاسيس اتصال معه و مع القواعد داخله لذا فليس من المنطقي ان اقوم بتجاهل هذه الميزة
و الاتجاه الى الطرق اليدوية للاتصال بالسيرفر سواء عن طريق الاعدادت او التعامل مع الملفات النصية

في بداية الكلاس و بعد قرائتك للموضوع السابق سنستورد بعض المراجع للتعامل معها
PHP كود :
Imports Microsoft.SqlServer.Management.Common
Imports Microsoft
.SqlServer.Management.Smo
Imports Microsoft
.Win32
Imports System
.Data.SqlClient
Public Class ServSite 

و ساعرف مجموع من الكائنات التي ساحتاجها ان وضعت الشرح في داخل الكود مع كل كائن

PHP كود :
   ''' <summary>
    ''' 
متغير من النوع سيرفر
    
''' نستخدمه للتعامل مع السيرفر
    ''' 
</summary>
 
   ''' <remarks></remarks>
    Protected Shared Srv As New Server

    ''' 
<summary>
 
   ''' متغير من النوع اتصالات السيرفر
    ''' 
نستخدمه لتمرير اتصال للسيرفر
    
''' </summary>
    ''' 
<remarks></remarks>
 
   Protected Shared srvcon As New ServerConnection

    
''' <summary>
    ''' 
متغير من النوع اتصالات السيكوال نستخدمه للاتصال بقاعدة البيانات
    
''' </summary>
    ''' 
<remarks></remarks>
 
   Protected Shared SqlConnection As New SqlConnection

    
''' <summary>
    ''' 
مصفوفة لتخزين اسماء السيرفرات
    
''' </summary>
    ''' 
<remarks></remarks>
 
   Protected Shared SrvNameArray() As String

    
''' <summary>
    ''' 
مصفوفة لتخزين اسماء قواعد البيانات
    
''' نستثني قواعد بيانات النظام
    ''' 
</summary>
 
   ''' <remarks></remarks>
    Protected Shared srvdbnames() As String

    ''' 
<summary>
 
   ''' مصفوفة لتخزين اسماء الجداول في القاعدة المحددة
    ''' 
</summary>
 
   ''' <remarks></remarks>
    Protected Shared TablesSrvDbs() As String

    ''' 
<summary>
 
   ''' متغير نصي نخزن فيه اسم القاعدة المحددة
    ''' 
</summary>
 
   ''' <remarks></remarks>
    Protected Shared SqlDbName As String

    ''' 
<summary>
 
   ''' متغير نصي نخزن فيه نص الاتصال مع قاعدة البيانات
    ''' 
</summary>
 
   ''' <remarks></remarks>
    Protected Shared _SqlConnectionString As String 

بالنسبة للجزئية الخاصة  XML Tags for Documentation  الظاهرة ضمن الاكود اذا ما لم تتعامل معها سابقا
ساقول لك بانها طريقة جميلة للتعليق على الوظائف  و معرفة الغرض منها اثناء اعادة استخدامها .
الفائدة منها تاتي عند تعريفك للكائن في وحدة برمجية جديدة ستاتيك المعلومات المرافقة للكائن و التي كنت قد كتبتها سابقا تمام كما يحصل مع اي كائنات ضمن اللغة عندما يقف عليها المؤشر 
الجميل فيها ايضا يمكنك تمرير معلومات تفصيلية عن البارمترات التي تريد تمريرها كذلك وضع ملاحظات مفصلة كما تحب و كلها ضمن Tag Xml واحد
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}


الردود في هذا الموضوع
RE: صمم الكلاس الخاص بك - كلاس للتعامل مع SQL SERVER - بواسطة ابو ليلى - 25-06-16, 02:01 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Rainbow [VB.NET] كلاس ResizeControls وطريقة جديد ومميزة لتكبير وتصغير ادوات الفورم تلقائيا الماجيك مسعد 9 10,544 19-07-25, 05:59 PM
آخر رد: Mostafa25
Star حماية السورس كود الخاص بك من الكسر مجانا YousefOkasha 7 6,920 03-07-24, 09:20 AM
آخر رد: أبو جودة
  دمج قاعدة بيانات SQL Server 2008 مع المشروع بالـ VBNET snipercoder 4 8,643 12-11-20, 06:01 PM
آخر رد: lion4
  مثال للتعامل مع الجداول المرتبطة - عن طريق الكلاسات ابو ليلى 24 16,435 04-10-20, 06:16 PM
آخر رد: محمد بن عطية
  [درس فيديو] السماح بالاتصالات البعيدة بـ SQL Server Expr aljzazy 0 2,248 13-04-20, 02:30 PM
آخر رد: aljzazy
  [SQL] تحسين أداء وسرعة قاعدة البيانات SQL SERVER اسامه الهرماوي 0 4,111 28-10-19, 03:12 AM
آخر رد: اسامه الهرماوي
  [مشروع] تعلم كيف تصنع برنامج لنشر منشورات لحساب الفيس بوك الخاص بك Basil Abdallah 8 6,971 01-07-18, 01:21 AM
آخر رد: YousefOkasha
  كيفية قراءة ملف باستخدام IntPtr الخاص بالملف silverlight 3 3,962 24-12-16, 03:13 AM
آخر رد: silverlight
  الاستفادة من بارمترات الاخراج من SQL Server داخل برنامجك ابو ليلى 1 3,565 20-08-16, 02:16 AM
آخر رد: الوادي
  [VB.NET] تشغيل Twain الخاص بسحب الصور من السكنر في حالة net framework4 ahmed saleh 4 4,780 25-10-15, 07:20 PM
آخر رد: عدنان الشمري

التنقل السريع :


يقوم بقرائة الموضوع: