تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الاتصال ب MS SQL Server من خلال الفيجوال بيسك دوت نت
#1
[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]


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

أخوكم.


الملفات المرفقة صورة/صور
       
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم

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

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

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

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

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

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

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

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

أخوكم.
الرد }}}}
تم الشكر بواسطة:
#4
السلام عليكم

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

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

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

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

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

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

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

أخوكم.
الرد }}}}
تم الشكر بواسطة:
#9
Up up up >>>>>>
الرد }}}}
تم الشكر بواسطة:
#10
Up up up up up up up >>>
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Question [نقاش] ماهو الفرق بين  sql server 2008 r2 و sql الموجودة في الفيجوال استديو 2010 Amrjamil 0 51 21-09-17, 06:20 PM
آخر رد: Amrjamil
  شرح جمل الاتصالsql مع فيجوال بيسك atefkhalf2004 1 59 20-09-17, 09:22 PM
آخر رد: محمد كريّم
Exclamation [سؤال] سؤال عن امكانية ربط الفيجوال بقاعدة علي الانترنت - وعن طريقه فتحه - وعدة اسأله اخرى MohamedAllam 5 251 23-07-17, 12:53 PM
آخر رد: MohamedAllam
  [مثال] مبتدئة ربط اكسس بفجيوال بيسك ام سفانة 3 225 21-07-17, 04:50 AM
آخر رد: ام سفانة
  [VB.NET] احتاج مشروع مبدئى الارتباط بين v.b وقواعد بياناتsql server ahmed6610 2 152 20-07-17, 06:05 AM
آخر رد: ahmed6610
  مشكلة في الاتصال مع ملفات ال SQL الخارجية .mdf khaled12345 13 457 16-07-17, 06:21 AM
آخر رد: ahmed6610
Question [سؤال] كيف يتم تشغيل قاعدة بيانات SQL SERVER دون تنصيب MS SQL SERVER alimoi79 1 205 16-07-17, 02:56 AM
آخر رد: ابو ليلى
  تحويل ملف اكسس mdb الي sql server 2008 r2 atefkhalf2004 2 297 15-07-17, 03:57 PM
آخر رد: atefkhalf2004
  ظهور ملف بجوار الاكسس عند الاتصال atefkhalf2004 2 136 25-06-17, 04:50 PM
آخر رد: atefkhalf2004
  حفظ بيانات اكثر من سجل من خلال DataGrideView abuyazan 4 951 02-06-17, 11:28 PM
آخر رد: الراشيدي

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم