- للاتصال بالسيرفر يجب عليك انشاء كائن من الفئة Connection ثم ارفاق نص الاتصال (Connection String) به والذي
يحتوي علي خصائص الاتصال من User Name , Password , .Net Data Provider .
- نص الاتصال Connection String :
يأخذ نص الاتصال الصيغه التاليه في ابسط اشكاله :-
Data Source=myServerAddress;Initial Catalog=myDataBase;User
Id=myUsername;Password=myPassword;
- في هذا الرابط يوجد مرجع لنصوص الاتصال في اشكال متعدده
- يمكن ايضا من خلال الفيجوال استديو تحديد نص الاتصال كالتالي
أ - من شريط الادوات بالضغط علي
Project ثم اختيار Application proprieties كما في الشكل الاتي :
ب - بعد ذلك نحدد الاختيار Settings ونقوم باضافه القيم كاسم الاتصال في حقل Name واختيار النوع Connection String من
حقل Type
جـ - و عند الوقوف في حقل Value سيظهر button قم بالضغط عليه ليظهر لك مربع كما في الشكل الاتي تقوم من خلاله بتحديد اسم
السيرفر وقاعده البيانات واسم المستخدم وكلمه المرور ( اذا لم تستخدم تصديق الويندوز ) ثم عمل Test ليظهر لك تأكيد بأن النص
يعمل بشكل صحيح انظر الي الشكل الاتي :
د - بالضغط علي OK سيكون لديك نص الاتصال في حقل الـ Value يمكنك نسخه او ارسال مرجع الـ Application Settings
باسم الاتصال المحدد في حقل الـ Name
- ملحوظه : في حاله استخدام الخطوات السابقة يكون لديك الان نص اتصال مرفق بالملف app.config يمكن تغيره بدون
الدخول الي الكود .
- الان سيتم انشاء الاتصال بعد اضافه مرجع الي System.Data.SqlClient
في المثال التالي سنستخدم SQL Server
Connection Pooling وهو تكنيك في الاتصال لتقليل عدد مرات فتح الاتصال
وبالتالي تقليل الضغط والازدحام علي الشبكه وفي هذا الرابط مرجع له
بعد اضافه مرجع الي SqlClient كالتالي :
C#
using System.Data.SqlClient ;
VB
Import System.Data.SqlClient
- الان هذا هو كود الاتصال بـ Sql Server وتنفيذ الـ Stored Procedure من خلال الكائن sqlcommand :
----------------------------------------------------------------------------------------------------------------
using (SqlConnection MyConn = new
SqlConnection(connString))
{
using
(SqlCommand Command = new SqlCommand("SP_UpdataProduct",ConnString))
{
Command.CommandType =
System.Data.CommandType.StoredProcedure;
Command.Parameters.AddWithValue("@ProId",
Value);
Command.Parameters.AddWithValue("@ProName",
Value);
Command.Parameters.AddWithValue("@ProUnit ", Value);
Command.Parameters.AddWithValue("@ProPrice",
Value);
Command.Connection.Open();
Command.ExecuteNonQuery();
}
}
----------------------------------------------------------------------------------------------------------------