منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الاتصال ب MS SQL Server من خلال الفيجوال بيسك دوت نت
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
[COLOR="#0000FF"][COLOR="#FF0000"]بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
[/COLOR][/COLOR]

نبدأ موضوعنا بالصلاة و السلام على أشرف خلق الله سيدنا محمد و على آله و صحبه و سلم ...
أما بعد,
يوجد لدي بعض الاستفسارات بخصوص طريقة التعامل مع قواعد البيانات من نوع (MS SQL Server 2008 R2) من خلال الفيجوال بيسك دوت نت 2010, و هي:
1- لو كان لدينا MS SQL Server 2008 R2 و الـ Connection mode = Mixed و هنالك Username = administrator و Password = vb4arb.com و هذه الـ Credentials هي للاتصال بالـ MS SQL Server 2008 R2 من أجل عمل قاعدة بيانات جديدة.
- ملاحظة: الـ MS SQL Server 2008 R2 Instance name = IT-PC\vb4arb123 .

2- لو قمنا بإنشاء قاعدة بيانات بإسم (vb4arb_db) و وضعنا الجداول التالية فيها:
- Emp_Tbl و يحتوي على الحقول التالية:
ID
CityID
EmpName
EmpAddress
EmpPhone

- City_Tbl و يحتوي على الحقول التالية:
ID
CityName


3- الان لدينا المعلومات التالية عن قاعدة البيانات:
- إسم الـ (MS SQL Server 2008 R2) هو (IT-PC\vb4arb123).
- الـ (Connection mode) هو (Mixed).
- إسم المستخدم المسؤول عن الارتباط بـ (IT-PC\vb4arb123) هو (administrator) و كلمة المرور الخاصة به هي (vb4arb.com) و هو نفس المستخدم المسؤول عن قاعدة البيانات (vb4arb_db).
- إسم قاعدة البيانات التي نريد الاتصال بها و الخاصة بمشروعنا هي (vb4arb_db) و يوجد بها جدولين (Emp_Tbl, City_Tbl).

الاسئلة التي لدي هي:
السؤال الاول – أفضل طريقة للإتصال بقاعدة البيانات, هل (Ado.net) أم (LINQ)؟ و أيهما أسرع في الخزن و إسترجاع البيانات و الامان فيه عالي جداً.
السؤال الثاني – هل يتم الاتصال عن طريق (إضافة قاعدة البيانات من خلال الـ Connection Wizard) الموجود في الفيجوال بيسك دوت نت 2010؟
كما موضح بالشكل:
[ATTACH=CONFIG]2642[/ATTACH]

أم عن طريق (إضافة موديول و كتابة كود الاتصال فيه) و نستغني عن الـ (Connection Wizard)؟
PHP كود :
Imports System
Imports System
.Data.SqlClient
Dim ConnectionString 
As String
Dim connection 
As SqlConnection
ConnectionString 
“Data Source=IT-PC\vb4arb123;Initial Catalog=vb4arb_db;User ID=administrator;Password=vb4arb.com”
Connection 
= New SqlConnection (ConnectionString
في الحالة الاولى, نستطيع إختيار الـ (Data Source) الخاصة بالـ (DataGridView) لاننا قمنا بإضافة قاعدة البيانات من خلال الـ (Connection Wizard). و لكن في الحالة الثانية, لن نستطيع إختيار الـ (Data Source) الخاصة بالـ (DataGridView) الا من خلال الكود لاننا لم نستخدم الـ (Connection Wizard) عند إضافة قاعدة البيانات او الاتصال بها.
كما موضح بالشكل:
[ATTACH=CONFIG]2643[/ATTACH]

السؤال الثالث – أي طريقة أفضل لإضافة أو للإتصال بقاعدة البيانات من الطرق المذكورة بالسؤال الثاني؟

[COLOR="#FF0000"]ملاحظة:
يفضل أن تكون الإجابة بالتفصيل و تبيين سبب تفضيل نوع إتصال على ثاني.[/COLOR]


شاكراً لكم مساعدتكم ...

أخوكم.
السلام عليكم

اخي العزيز بالنسبة لسؤالك الاول من ناحية الامان هي ADO.NET عن طريق الاجراءات المخزنة Stored Procedure أما من ناحية السهولة فباعتقادي الADO.NET وال Linq هما الاسهل حسب اجادتك للتقنية

اما بخصوص سؤالك الثاني نعم يتم الاتصال عن طريق المعالج

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

هذا رأيي المتواضع واتمنى من بقية الاخوة ابداء ارائهم لتعم الفائدة
جزاك الله خيراً أخي sajad,
لكن لماذا استخدم المعالج (بمعنى إستخدام Connection Wizard) لإضافة قاعدة البيانات للمشروع, و من ثم أستخدم الكود للتعامل مع (DataGridView) من أجل تتبع الخطأ ؟!

لماذا لا اقوم إما بإستخدام المعالج لاضافة قاعدة البيانات للمشروع و إستخدام الـ (Data Source) بالنسبة للـ (DataGridView) معاً؟
أو أقوم بإستخدام الكود لاضافة قاعدة البيانات او الاتصال بها بالمشروع و أستخدم الكود أيضا بالنسبة للـ (DataGridView)؟

حيث من غير المعقول أن استخدم المعالج لاضافة قاعدة البيانات للمشروع و من ثم استخدم الكود للإضافة و الحذف و التعديل في الـ (DataGridView), و ذلك لان المعالج يقوم بتسهيل الامر من حيث التعامل مع الاضافة و التعديل و الحذف.

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

أرجوا توضيح النقاط و شرحها بالتفصيل و تبيين الفروقات الاساسية بين المعالج و الكود.
و لكم مني خالص الشكر و الدعاء لكم بالتوفيق و النجاح دائماً.

أخوكم.
السلام عليكم

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

وانصحك بالذهاب الى قسم مقالات قواعد البيانات لمعرفة المزيد وقسم مقالات التقارير لتعلم كيفية صناعة التقارير
أخي العزيز sajad,
هل من الممكن أن توضح السبب لعدم إستخدام المعالج و إستخدام الكود بدله؟

جزاك الله خيرا ..

أخوكم.
بالاضافة إلى, هل كثرة الاكواد و طولها يؤثر على سرعة البرنامج؟
حيث أن المعالج يختصر لك الاكواد, اليس كذلك؟
السبب اخي العزيز بينتها لك وهي سهولك قنص الاخطاء وتصحيحها اضف الى ذلك تعديل الاكواد او جزء من الاكواد بسهولة وسهولة التعامل مع البيانات حيث هنالك طريقتين:
الاول الاتصال المتصل والثاني الاتصال المنفصل والاخير هو الافضل لانك ستقوم بجلب البيانات و وضعها في الDataset وهي تتعامل مع الذاكرة لغرض السرعة وبذلك لا تتأثر البيانات المعدلة في الDataset بقاعدة البيانات إلا اذا اردنا ذلك بمعنى اولا نعدل او نحذف او نضيف ومن ثم نقوم بتطبيق التعديلات بقاعدة البيانات.

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

أما هل استخدام المعالج اسرع فلا اعتقد ذلك واترك الجواب لبقية الاخوة لاني لا اتعامل مع المعالج لذا لست ملما بخفاياها تقبل اعتذاريSmile
جزاك الله خيراً أخي sajad.

ننتظر من بقية الاخوة المشاركة في الموضوع و تبيين كفاءة أداء المعالج.

أخوكم.
Up up up >>>>>>
Up up up up up up up >>>
الصفحات : 1 2