المعهد العربي للبرمجة
<script type="text/javascript">
atOptions = {
'key' : '5b1b15495bfd75e8c0082216b4d62323',
'format' : 'iframe',
'height' : 60,
'width' : 468,
'params' : {}
};
document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.highconvertingformats.com/5b1b15495bfd75e8c0082216b4d62323/invoke.js"></scr' + 'ipt>');
</script>


المعهد العربي للبرمجة
<script type="text/javascript">
atOptions = {
'key' : '5b1b15495bfd75e8c0082216b4d62323',
'format' : 'iframe',
'height' : 60,
'width' : 468,
'params' : {}
};
document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.highconvertingformats.com/5b1b15495bfd75e8c0082216b4d62323/invoke.js"></scr' + 'ipt>');
</script>

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

المعهد العربي للبرمجةدخول

المعهد العربي للبرمجة

.:عدد مشاهدات المعهد العربي للبرمجة:.
Flag Counter
من تاريخ 2016.9.11

مطلوب مشرفين للعمل بالمنتدى للانظمام ضع طلبك بالقسم المناسب شاكرين لكم حسن تعاونكم
مرحبا بك يا زائر نتمنى لك كل التوفيق

descriptionكلاس للتعامل مع SQL SERVER Emptyكلاس للتعامل مع SQL SERVER

more_horiz
الغاية من تصميم هذا الكلاس هي للاتصال بـ SQL SERVER و من ثم الحصول على قواعد البيانات فيه

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

و من ثم استجلاب كل حقول الجدول او الحقول التي تحددها انت

ومن ثم عمل خصائص للحقول للتعامل معها من حيث الاضافة و الحذف و التعديل

ملاحظة: للذين يعملون مع برامج قواعد البيانات الخاصة بـ SQL SERVER الكل يعرف انني اذا اردت التعامل مع جدول ما من خلال برنامجي فان هناك العديد من الطرق منها 

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

و البعض الاخر يعمل وفق تقنيات حديثة تقضي بعمل كائن مشابه للجدول او القاعدة (اقصد هنا تقنية التعامل مع لغة Linq) و يكون هذا الكائن بالاساس مشابه للاصل و لكن ضمن وحدة برمجية Class و ضمن هذا الكلاس يتم فرض هيكلية كاملة للقاعدة بكل ما تحويه من جداول و علاقات و حقول و اجراءات و وظائف  و كل شيئ

و فق خصائص و طرق عندها تصبح هذه الوحدة تحتوي على كائنات معرفة بشكل مستقل ضمن اللغة (كما كان يحدث مع تقنية المعالج) عند هذه النقطة يمكن للمبرمج ان يستغني عن تقنية SQL و يتخاطب مع الكائنات الجديدة وفق لغة خاصة Linq اذا ان الوصول للكائنات الجديدة اصبح متاح و بشكل يسير كوننا قمنا بتعريفها ضمن فئات خاصة لذا ستجد ان محرر الكود سيدعم لك الوصول السريع لهذه الكائنات , كل هذا جميل و رائع لكن توقف لحظة ما الذي سيجري في الخلفية من سيتخاطب مع القاعدة و باي لغة ؟؟ لا تتعب نفسك اخي الكريم القاعدة لا تفهم الا لغة واحدة SQL الفرق الوحيد انك لن تحتاج الى تعلم SQL اذا ما كنت جاهلا بها سيتكفل محرك اللغة بالقيام باي عمليات خاصة مع القاعدة وفق SQL (عود على بدء).




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




اولا قم بانشاء مشروع جديد من النوع Class Library

ثم سميه ServSite او اي اسم يعجبك هذا الاسم اخترته لان هناك جزئية تختص بالسيرفر ربما اذا توفر لدي الوقت ساتكلم عنه لاحقا

الان اصبح لديك Class جديد في المشروع اسمه ServSite

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

و سيكون لدي كلاس اخر في المشروع يختص بالعمليات على قواعد البيانات سيرث خصائص من الكلاس السابق ServSite




في البداية اذا كنت لم تتطلع على هذا الموضوع هنا الغزل مع SQL SERVER

انصحك بقرائته لانني قمت بشرحه بشكل مفصل لتعرف طريقة الاتصال باي سيرفرات مثبته على الجهاز








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

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




في بداية الكلاس و بعد قرائتك للموضوع السابق سنستورد بعض المراجع للتعامل معها

PHP كود :

الكود:

[center][b]Imports Microsoft.SqlServer.Management.Common[/b][/center]

[center]Imports Microsoft.SqlServer.Management.Smo[/center]

[center]Imports Microsoft.Win32[/center]

[center]Imports System.Data.SqlClient[/center]

[center]Public Class ServSite [/center]




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



PHP كود :

الكود:

[center][size=13][b]   ''' <summary>[/b][/size][/center]

[center]    ''' متغير من النوع سيرفر[/center]

[center]    ''' نستخدمه للتعامل مع السيرفر[/center]

[center]    ''' </summary>[/center]

[center]    ''' <remarks></remarks>[/center]

[center][size=13]    Protected Shared Srv As New Server[/size][/center]

[center][color=#dd0000][font=Monaco, Consolas, Courier, monospace]
[/font][/color][/center]

[center][color=#dd0000][font=Monaco, Consolas, Courier, monospace]    ''' [/font][/color]<summary>[/center]

[center]    ''' متغير من النوع اتصالات السيرفر[/center]

[center]    ''' نستخدمه لتمرير اتصال للسيرفر[/center]

[center]    ''' </summary>[/center]

[center]    ''' <remarks></remarks>[/center]

[center]    Protected Shared srvcon As New ServerConnection[/center]

[center][color=#0000bb][font=Monaco, Consolas, Courier, monospace]
[/font][/color][/center]

[center][color=#0000bb][font=Monaco, Consolas, Courier, monospace]    [/font][/color]''' <summary>[/center]

[center]    ''' متغير من النوع اتصالات السيكوال نستخدمه للاتصال بقاعدة البيانات[/center]

[center]    ''' </summary>[/center]

[center]    ''' <remarks></remarks>[/center]

[center]    Protected Shared SqlConnection As New SqlConnection[/center]

[center][color=#0000bb][font=Monaco, Consolas, Courier, monospace]
[/font][/color][/center]

[center][color=#0000bb][font=Monaco, Consolas, Courier, monospace]    [/font][/color]''' <summary>[/center]

[center]    ''' مصفوفة لتخزين اسماء السيرفرات[/center]

[center]    ''' </summary>[/center]

[center]    ''' <remarks></remarks>[/center]

[center]    Protected Shared SrvNameArray() As String[/center]

[center][color=#0000bb][font=Monaco, Consolas, Courier, monospace]
[/font][/color][/center]

[center][color=#0000bb][font=Monaco, Consolas, Courier, monospace]    [/font][/color]''' <summary>[/center]

[center]    ''' مصفوفة لتخزين اسماء قواعد البيانات[/center]

[center]    ''' نستثني قواعد بيانات النظام[/center]

[center]    ''' </summary>[/center]

[center]    ''' <remarks></remarks>[/center]

[center][size=13]    Protected Shared srvdbnames() As String[/size][/center]

[center][color=#dd0000][font=Monaco, Consolas, Courier, monospace]
[/font][/color][/center]

[center][color=#dd0000][font=Monaco, Consolas, Courier, monospace]    ''' [/font][/color]<summary>[/center]

[center]    ''' مصفوفة لتخزين اسماء الجداول في القاعدة المحددة[/center]

[center]    ''' </summary>[/center]

[center]    ''' <remarks></remarks>[/center]

[center][size=13]    Protected Shared TablesSrvDbs() As String[/size][/center]

[center][color=#dd0000][font=Monaco, Consolas, Courier, monospace]
[/font][/color][/center]

[center][color=#dd0000][font=Monaco, Consolas, Courier, monospace]    ''' [/font][/color]<summary>[/center]

[center]    ''' متغير نصي نخزن فيه اسم القاعدة المحددة[/center]

[center]    ''' </summary>[/center]

[center]    ''' <remarks></remarks>[/center]

[center][size=13]    Protected Shared SqlDbName As String[/size][/center]

[center][color=#dd0000][font=Monaco, Consolas, Courier, monospace]
[/font][/color][/center]

[center][color=#dd0000][font=Monaco, Consolas, Courier, monospace]    ''' [/font][/color]<summary>[/center]

[center]    ''' متغير نصي نخزن فيه نص الاتصال مع قاعدة البيانات[/center]

[center]    ''' </summary>[/center]

[center]    ''' <remarks></remarks>[/center]

[center]    Protected Shared _SqlConnectionString As String [/center]




بالنسبة للجزئية الخاصة  [size=32]XML Tags for Documentation [/size] الظاهرة ضمن الاكود اذا ما لم تتعامل معها سابقا

ساقول لك بانها طريقة جميلة للتعليق على الوظائف  و معرفة الغرض منها اثناء اعادة استخدامها .

الفائدة منها تاتي عند تعريفك للكائن في وحدة برمجية جديدة ستاتيك المعلومات المرافقة للكائن و التي كنت قد كتبتها سابقا تمام كما يحصل مع اي كائنات ضمن اللغة عندما يقف عليها المؤشر 

الجميل فيها ايضا يمكنك تمرير معلومات تفصيلية عن البارمترات التي تريد تمريرها كذلك وضع ملاحظات مفصلة كما تحب و كلها ضمن Tag Xml واحد

descriptionكلاس للتعامل مع SQL SERVER Emptyرد: كلاس للتعامل مع SQL SERVER

more_horiz
يعطيك العافية على الموضوع دمت بخير
privacy_tip صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
power_settings_newقم بتسجيل الدخول للرد