أساسيات اتصال قواعد البيانات
يمكن لـ C # و .Net العمل مع غالبية قواعد البيانات ، وأكثرها شيوعًا هو Oracle و Microsoft SQL Server. ولكن مع كل قاعدة بيانات ، فإن المنطق وراء العمل معهم في الغالب هو نفسه.
في أمثلةنا ، سننظر في العمل على Microsoft SQL Server كقاعدة بيانات. لأغراض التعلم ، يمكن للمرء تنزيل واستخدام Microsoft SQL Server Express Edition ، وهو برنامج قاعدة بيانات مجاني توفره Microsoft.
في العمل مع قواعد البيانات ، فيما يلي المفاهيم المشتركة لجميع قواعد البيانات.
- اتصال - للعمل مع البيانات في قاعدة البيانات ، فإن الخطوة الأولى الواضحة هي الاتصال. يتكون الاتصال بقاعدة بيانات عادةً من المعلمات المذكورة أدناه.
- اسم قاعدة البيانات أو مصدر البيانات - المعلمة الهامة الأولى هي اسم قاعدة البيانات التي يجب إنشاء الاتصال بها. يمكن أن يعمل كل اتصال مع قاعدة بيانات واحدة فقط في كل مرة.
- أوراق الاعتماد - الجانب المهم التالي هو اسم المستخدم وكلمة المرور التي يجب استخدامها لإنشاء اتصال بقاعدة البيانات. يضمن امتلاك اسم المستخدم وكلمة المرور الامتيازات اللازمة للاتصال بقاعدة البيانات.
- معلمات اختيارية - لكل نوع من أنواع قاعدة البيانات ، يمكنك تحديد معلمات اختيارية لتوفير مزيد من المعلومات حول كيفية تعامل .net مع الاتصال بقاعدة البيانات. على سبيل المثال ، يمكن للمرء تحديد معلمة للمدة التي ينبغي أن يظل خلالها الاتصال نشطًا. إذا لم يتم تنفيذ أي عملية لفترة زمنية محددة ، فستحدد المعلمة ما إذا كان يجب إغلاق الاتصال.
- تحديد البيانات من قاعدة البيانات - بمجرد إنشاء الاتصال ، فإن الجانب المهم التالي هو جلب البيانات من قاعدة البيانات. يمكن لـ C # تنفيذ أمر تحديد "SQL" مقابل قاعدة البيانات. يمكن استخدام عبارة "SQL" لجلب البيانات من جدول معين في قاعدة البيانات.
- إدراج البيانات في قاعدة البيانات - يمكن أيضًا استخدام C # لإدراج السجلات في قاعدة البيانات. يمكن تحديد القيم في C # لكل صف يجب إدراجه في قاعدة البيانات.
- تحديث البيانات في قاعدة البيانات - يمكن أيضًا استخدام C # لتحديث السجلات الموجودة في قاعدة البيانات. يمكن تحديد قيم جديدة في C # لكل صف يحتاج إلى تحديث في قاعدة البيانات.
- حذف البيانات من قاعدة البيانات - يمكن أيضًا استخدام C # لحذف السجلات في قاعدة البيانات. حدد أوامر لتحديد الصفوف التي يجب حذفها والتي يمكن تحديدها في C #.
حسنًا ، الآن بعد أن رأينا نظرية كل عملية ، دعنا ننتقل إلى الأقسام الإضافية لنلقي نظرة على كيفية إجراء عمليات قاعدة البيانات في C #.
- اسم قاعدة البيانات أو مصدر البيانات - المعلمة الهامة الأولى هي اسم قاعدة البيانات التي يجب إنشاء الاتصال بها. يمكن أن يعمل كل اتصال مع قاعدة بيانات واحدة فقط في كل مرة.
- أوراق الاعتماد - الجانب المهم التالي هو اسم المستخدم وكلمة المرور التي يجب استخدامها لإنشاء اتصال بقاعدة البيانات. يضمن امتلاك اسم المستخدم وكلمة المرور الامتيازات اللازمة للاتصال بقاعدة البيانات.
- معلمات اختيارية - لكل نوع من أنواع قاعدة البيانات ، يمكنك تحديد معلمات اختيارية لتوفير مزيد من المعلومات حول كيفية تعامل .net مع الاتصال بقاعدة البيانات. على سبيل المثال ، يمكن للمرء تحديد معلمة للمدة التي ينبغي أن يظل خلالها الاتصال نشطًا. إذا لم يتم تنفيذ أي عملية لفترة زمنية محددة ، فستحدد المعلمة ما إذا كان يجب إغلاق الاتصال.
كيفية ربط C # بقاعدة البيانات
دعنا الآن نلقي نظرة على الرمز ، الذي يجب الاحتفاظ به في مكانه لإنشاء اتصال بقاعدة بيانات. في مثالنا ، سنتصل بقاعدة بيانات تحمل اسم Demodb. فيما يلي بيانات الاعتماد المستخدمة للاتصال بقاعدة البيانات
- اسم المستخدم - sa
- كلمة المرور - demo123
سنرى تطبيق نماذج Windows بسيط للعمل مع قواعد البيانات. سيكون لدينا زر بسيط يسمى "Connect" والذي سيتم استخدامه للاتصال بقاعدة البيانات.
لذلك دعونا نتبع الخطوات التالية لتحقيق ذلك
الخطوة 1) تتضمن الخطوة الأولى إنشاء مشروع جديد في Visual Studio. بعد تشغيل Visual Studio ، تحتاج إلى تحديد خيار القائمة New-> Project.
الخطوة 2) الخطوة التالية هي اختيار نوع المشروع كتطبيق Windows Forms. هنا ، نحتاج أيضًا إلى ذكر اسم وموقع مشروعنا.
- في مربع حوار المشروع ، يمكننا رؤية خيارات متنوعة لإنشاء أنواع مختلفة من المشاريع في Visual Studio. انقر فوق خيار Windows على الجانب الأيسر.
- عندما نضغط على خيارات Windows في الخطوة السابقة ، سنتمكن من رؤية خيار لتطبيق نماذج Windows. انقر فوق هذا الخيار.
- ثم نعطي اسمًا للتطبيق وهو في حالتنا هو "DemoApplication". نحتاج أيضًا إلى توفير موقع لتخزين تطبيقنا.
- أخيرًا ، نضغط على الزر "موافق" للسماح لبرنامج Visual Studio بإنشاء مشروعنا.
الخطوة 3) الآن قم بإضافة زر من صندوق الأدوات إلى نموذج Windows. ضع خاصية النص للزر كربط. هكذا ستبدو
الخطوة 4) الآن انقر نقرًا مزدوجًا على النموذج بحيث تتم إضافة معالج الأحداث إلى الرمز الخاص بحدث النقر على الزر. في معالج الأحداث ، أضف التعليمات البرمجية أدناه.
using System.Collections.Generic;
using System.ComponentModel;
using System.Data.SqlClient;
using System.Data;
using System.Drawing;
using System.Threading.Tasks;
using System.Linq;
using System.Text;
public partial class Form1 : Form
using System.Windows.Forms;
namespace DemoApplication1
private void button1_Click(object sender, EventArgs e)
{
{
public Form1()
{
InitializeComponent();
}
connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demol23";
{
string connetionString;
SqlConnection cnn;
MessageBox.Show("Connection Open !");
cnn = new SqlConnection(connetionString);
cnn.Open();
cnn.Close();
}
}
}
شرح الكود: -
- الخطوة الأولى هي إنشاء متغيرات ، والتي سيتم استخدامها لإنشاء سلسلة الاتصال والاتصال بقاعدة بيانات SQL Server.
- الخطوة التالية هي إنشاء سلسلة الاتصال. يجب تحديد سلسلة الاتصال بشكل صحيح لـ C # لفهم سلسلة الاتصال. تتكون سلسلة الاتصال من الأجزاء التالية
- مصدر البيانات - هذا هو اسم الخادم الذي توجد عليه قاعدة البيانات. في حالتنا ، يوجد على جهاز يسمى WIN- 50GP30FGO75.
- يتم استخدام الكتالوج الأولي لتحديد اسم قاعدة البيانات
- UserID وكلمة المرور هي بيانات الاعتماد المطلوبة للاتصال بقاعدة البيانات.
- بعد ذلك ، نقوم بتعيين سلسلة الاتصال للمتغير cnn. يتم استخدام cnn المتغير ، وهو من نوع SqlConnection لتأسيس الاتصال بقاعدة البيانات.
- بعد ذلك ، نستخدم الأسلوب Open لمتغير cnn لفتح اتصال بقاعدة البيانات. ثم نعرض فقط رسالة للمستخدم تفيد بإنشاء الاتصال.
- بمجرد اكتمال العملية بنجاح ، نقوم بعد ذلك بإغلاق الاتصال بقاعدة البيانات. من الممارسات الجيدة دائمًا إغلاق الاتصال بقاعدة البيانات إذا لم يكن هناك شيء آخر مطلوب القيام به في قاعدة البيانات.
عندما يتم تعيين الكود أعلاه ، ويتم تنفيذ المشروع باستخدام Visual Studio ، ستحصل على الإخراج أدناه. بمجرد عرض النموذج ، انقر فوق زر الاتصال.
انتاج:-
عند النقر فوق الزر "اتصال" ، من الإخراج ، يمكنك أن ترى أنه تم إنشاء اتصال قاعدة البيانات. وبالتالي ، تم عرض مربع الرسالة.
using System.Collections.Generic;
using System.ComponentModel;
using System.Data.SqlClient;
using System.Data;
using System.Drawing;
using System.Threading.Tasks;
using System.Linq;
using System.Text;
public partial class Form1 : Form
using System.Windows.Forms;
namespace DemoApplication1
private void button1_Click(object sender, EventArgs e)
{
{
public Form1()
{
InitializeComponent();
}
connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demol23";
{
string connetionString;
SqlConnection cnn;
MessageBox.Show("Connection Open !");
cnn = new SqlConnection(connetionString);
cnn.Open();
cnn.Close();
}
}
}
using System.ComponentModel;
using System.Data.SqlClient;
using System.Data;
using System.Drawing;
using System.Threading.Tasks;
using System.Linq;
using System.Text;
public partial class Form1 : Form
using System.Windows.Forms;
namespace DemoApplication1
private void button1_Click(object sender, EventArgs e)
{
{
public Form1()
{
InitializeComponent();
}
connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demol23";
{
string connetionString;
SqlConnection cnn;
MessageBox.Show("Connection Open !");
cnn = new SqlConnection(connetionString);
cnn.Open();
cnn.Close();
}
}
}
- مصدر البيانات - هذا هو اسم الخادم الذي توجد عليه قاعدة البيانات. في حالتنا ، يوجد على جهاز يسمى WIN- 50GP30FGO75.
- يتم استخدام الكتالوج الأولي لتحديد اسم قاعدة البيانات
- UserID وكلمة المرور هي بيانات الاعتماد المطلوبة للاتصال بقاعدة البيانات.
الوصول إلى البيانات باستخدام SqlDataReader
لعرض كيفية الوصول إلى البيانات باستخدام C # ، دعنا نفترض أن لدينا العناصر التالية في قاعدة بياناتنا.
- جدول يسمى demotb. سيتم استخدام هذا الجدول لتخزين معرف وأسماء البرامج التعليمية المختلفة.
- سيحتوي الجدول على عمودين ، أحدهما يسمى "TutorialID" والآخر يسمى "TutorialName".
- في الوقت الحالي ، سيحتوي الجدول على صفين كما هو موضح أدناه.
TutorialID
TutorialName
1
C #
2
ASP.Net
دعنا نغير الشفرة في نموذجنا ، حتى نتمكن من الاستعلام عن هذه البيانات وعرض المعلومات عبر صندوق الرسائل. لاحظ أن كل الكود الذي تم إدخاله أدناه هو استمرار للكود المكتوب لاتصال البيانات في القسم السابق.
الخطوة 1) دعنا نقوم بتقسيم الشفرة إلى جزأين بحيث يكون من السهل فهمها للمستخدم.
- الأول هو إنشاء بيان "select" الخاص بنا ، والذي سيتم استخدامه لقراءة البيانات من قاعدة البيانات.
- سننفذ بعد ذلك العبارة "select" على قاعدة البيانات ونجلب جميع صفوف الجدول وفقًا لذلك.
شرح الكود: -
- الخطوة الأولى هي إنشاء المتغيرات التالية
- SQLCommand - "SQLCommand" هو فئة محددة ضمن C #. يستخدم هذا الفصل لإجراء عمليات القراءة والكتابة في قاعدة البيانات. وبالتالي ، فإن الخطوة الأولى هي التأكد من أننا نقوم بإنشاء نوع متغير من هذه الفئة. سيتم استخدام هذا المتغير في خطوات لاحقة لقراءة البيانات من قاعدة بياناتنا.
- يتم استخدام كائن DataReader للحصول على جميع البيانات المحددة بواسطة استعلام SQL. يمكننا بعد ذلك قراءة جميع صفوف الجدول واحدًا تلو الآخر باستخدام قارئ البيانات.
- ثم نحدد متغيرين للسلسلة ، أحدهما هو "SQL" لاحتواء سلسلة أوامر SQL الخاصة بنا. التالي هو "الإخراج" الذي سيحتوي على جميع قيم الجدول.
- الخطوة التالية هي تحديد عبارة SQL ، التي سيتم استخدامها مقابل قاعدة بياناتنا. في حالتنا ، هو "حدد TutorialID ، TutorialName من demotb". سيؤدي هذا إلى جلب كافة الصفوف من demotb الجدول.
- بعد ذلك ، نقوم بإنشاء كائن الأمر الذي يتم استخدامه لتنفيذ عبارة SQL مقابل قاعدة البيانات. في أمر SQL ، يجب عليك تمرير كائن الاتصال وسلسلة SQL.
- بعد ذلك ، سننفذ أمر قارئ البيانات ، والذي سيجلب جميع الصفوف من جدول demotb.
- الآن بعد أن أصبح لدينا جميع صفوف الجدول معنا ، نحتاج إلى آلية للوصول إلى الصف واحدًا تلو الآخر. لهذا ، سوف نستخدم بيان while. سيتم استخدام العبارة while للوصول إلى الصفوف من قارئ البيانات واحدًا تلو الآخر. ثم نستخدم طريقة GetValue للحصول على قيمة TutorialID و TutorialName.
الخطوة 2) في الخطوة النهائية ، سنقوم فقط بعرض الإخراج للمستخدم وإغلاق جميع الكائنات المتعلقة بتشغيل قاعدة البيانات.
شرح الكود: -
- سنواصل الكود الخاص بنا عن طريق عرض قيمة متغير الإخراج باستخدام MessageBox. سيحتوي متغير الإخراج على جميع القيم من جدول demotb.
- نقوم في النهاية بإغلاق جميع الكائنات المتعلقة بتشغيل قاعدة البيانات الخاصة بنا. تذكر أن هذه ممارسة جيدة دائمًا.
عند تعيين الرمز أعلاه ، وتشغيل المشروع باستخدام Visual Studio ، ستحصل على الإخراج أدناه. بمجرد عرض النموذج ، انقر فوق زر الاتصال.
انتاج:-
من الناتج ، يمكنك أن ترى بوضوح أن البرنامج كان قادرًا على الحصول على القيم من قاعدة البيانات. ثم يتم عرض البيانات في مربع الرسالة.
TutorialID
TutorialName
1
C #
2
ASP.Net
- SQLCommand - "SQLCommand" هو فئة محددة ضمن C #. يستخدم هذا الفصل لإجراء عمليات القراءة والكتابة في قاعدة البيانات. وبالتالي ، فإن الخطوة الأولى هي التأكد من أننا نقوم بإنشاء نوع متغير من هذه الفئة. سيتم استخدام هذا المتغير في خطوات لاحقة لقراءة البيانات من قاعدة بياناتنا.
- يتم استخدام كائن DataReader للحصول على جميع البيانات المحددة بواسطة استعلام SQL. يمكننا بعد ذلك قراءة جميع صفوف الجدول واحدًا تلو الآخر باستخدام قارئ البيانات.
- ثم نحدد متغيرين للسلسلة ، أحدهما هو "SQL" لاحتواء سلسلة أوامر SQL الخاصة بنا. التالي هو "الإخراج" الذي سيحتوي على جميع قيم الجدول.
C # أدخل في قاعدة البيانات
تمامًا مثل الوصول إلى البيانات ، فإن C # لديه القدرة على إدراج السجلات في قاعدة البيانات أيضًا. لعرض كيفية إدراج السجلات في قاعدة بياناتنا ، لنأخذ نفس بنية الجدول التي تم استخدامها أعلاه.
TutorialID
TutorialName
1
C#
2
ASP.Net
دعنا نغير الشفرة في نموذجنا ، حتى نتمكن من إدراج الصف التالي في الجدول
TutorialID
TutorialName
3
VB.Net
لذا دعنا نضيف الكود التالي إلى برنامجنا. سيتم استخدام مقتطف الرمز أدناه لإدراج سجل موجود في قاعدة بياناتنا.
شرح الكود: -
- الخطوة الأولى هي إنشاء المتغيرات التالية
- SQLCommand - يتم استخدام نوع البيانات هذا لتعريف الكائنات التي يتم استخدامها لتنفيذ عمليات SQL مقابل قاعدة بيانات. سيحتوي هذا الكائن على أمر SQL الذي سيتم تشغيله مقابل قاعدة بيانات SQL Server الخاصة بنا.
- يتم استخدام كائن DataAdapter لإجراء عمليات SQL محددة مثل أوامر الإدراج والحذف والتحديث.
- ثم نحدد متغير سلسلة ، وهو "SQL" للاحتفاظ بسلسلة أوامر SQL الخاصة بنا.
- الخطوة التالية هي تحديد عبارة SQL التي سيتم استخدامها مقابل قاعدة البيانات الخاصة بنا. في حالتنا ، نحن نصدر بيان إدراج ، والذي سيدرج سجل TutorialID = 1 و TutorialName = VB.Net
- بعد ذلك ، نقوم بإنشاء كائن الأمر الذي يتم استخدامه لتنفيذ عبارة SQL مقابل قاعدة البيانات. في أمر SQL ، يجب عليك تمرير كائن الاتصال وسلسلة SQL
- في أمر محول البيانات الخاص بنا ، نقوم الآن بربط الأمر insert SQL بالمحول. ثم نصدر أيضًا طريقة ExecuteNonQuery التي يتم استخدامها لتنفيذ عبارة Insert مقابل قاعدة بياناتنا. يتم استخدام طريقة "ExecuteNonQuery" في C # لإصدار أي عبارات DML مقابل قاعدة البيانات. من خلال عبارات DML ، نعني عملية الإدراج والحذف والتحديث. في C # ، إذا كنت ترغب في إصدار أي من هذه العبارات مقابل جدول ، فأنت بحاجة إلى استخدام أسلوب ExecuteNonQuery.
- نقوم في النهاية بإغلاق جميع الكائنات المتعلقة بتشغيل قاعدة البيانات الخاصة بنا. تذكر أن هذه ممارسة جيدة دائمًا.
عندما يتم تعيين الكود أعلاه ، ويتم تنفيذ المشروع باستخدام Visual Studio ، ستحصل على الإخراج أدناه. بمجرد عرض النموذج ، انقر فوق زر الاتصال.
انتاج:-
إذا ذهبت إلى SQL Server Express ورأيت الصفوف في جدول demotb ، فسترى الصف مدرجًا كما هو موضح أدناه
TutorialID
TutorialName
1
C#
2
ASP.Net
TutorialID
TutorialName
3
VB.Net
- SQLCommand - يتم استخدام نوع البيانات هذا لتعريف الكائنات التي يتم استخدامها لتنفيذ عمليات SQL مقابل قاعدة بيانات. سيحتوي هذا الكائن على أمر SQL الذي سيتم تشغيله مقابل قاعدة بيانات SQL Server الخاصة بنا.
- يتم استخدام كائن DataAdapter لإجراء عمليات SQL محددة مثل أوامر الإدراج والحذف والتحديث.
- ثم نحدد متغير سلسلة ، وهو "SQL" للاحتفاظ بسلسلة أوامر SQL الخاصة بنا.
تحديث قاعدة بيانات C #
تمامًا مثل الوصول إلى البيانات ، فإن C # لديه القدرة على تحديث السجلات الموجودة من قاعدة البيانات أيضًا. لعرض كيفية تحديث السجلات في قاعدة بياناتنا ، لنأخذ نفس بنية الجدول التي تم استخدامها أعلاه.
TutorialID
TutorialName
1
C#
2
ASP.Net
3
VB.Net
دعنا نغير الشفرة في نموذجنا ، حتى نتمكن من تحديث الصف التالي. قيمة الصف القديمة هي TutorialID كـ "3" واسم البرنامج التعليمي كـ "VB.Net". والذي سنقوم بتحديثه إلى "VB.Net مكتمل" بينما ستبقى قيمة الصف لمعرف البرنامج التعليمي كما هي.
صف قديم
TutorialID
TutorialName
3
VB.Net
صف جديد
TutorialID
TutorialName
3
اكتمل VB.Net
لذا دعنا نضيف الكود التالي إلى برنامجنا. سيتم استخدام مقتطف الشفرة أدناه لتحديث سجل موجود في قاعدة بياناتنا.
شرح الكود: -
- الخطوة الأولى هي إنشاء المتغيرات التالية
- SQLCommand - يتم استخدام نوع البيانات هذا لتعريف الكائنات التي يتم استخدامها لتنفيذ عمليات SQL مقابل قاعدة بيانات. سيحتوي هذا الكائن على أمر SQL الذي سيتم تشغيله مقابل قاعدة بيانات SQL Server الخاصة بنا.
- يتم استخدام كائن Dataadapter لإجراء عمليات SQL محددة مثل أوامر الإدراج والحذف والتحديث.
- ثم نحدد متغير سلسلة ، وهو SQL للاحتفاظ بسلسلة أوامر SQL الخاصة بنا.
- الخطوة التالية هي تحديد عبارة SQL التي سيتم استخدامها مقابل قاعدة بياناتنا. في حالتنا سنقوم بإصدار بيان تحديث ، سيؤدي ذلك إلى تحديث اسم البرنامج التعليمي إلى "VB.Net Complete" في حين أن TutorialID لم يتغير والاحتفاظ به كـ 3.
- بعد ذلك ، سننشئ كائن الأمر ، الذي يستخدم لتنفيذ جملة SQL مقابل قاعدة البيانات. في أمر SQL ، قمت بتمرير كائن الاتصال وسلسلة SQL.
- في أمر محول البيانات الخاص بنا ، نقوم الآن بربط الأمر insert SQL بالمحول. ثم نصدر أيضًا طريقة ExecuteNonQuery التي يتم استخدامها لتنفيذ عبارة التحديث مقابل قاعدة البيانات الخاصة بنا.
- نقوم في النهاية بإغلاق جميع الكائنات المتعلقة بتشغيل قاعدة البيانات الخاصة بنا. تذكر أن هذه ممارسة جيدة دائمًا.
عندما يتم تعيين الكود أعلاه ، ويتم تنفيذ المشروع باستخدام Visual Studio ، ستحصل على الإخراج أدناه. بمجرد عرض النموذج ، انقر فوق زر الاتصال.
انتاج:-
إذا ذهبت بالفعل إلى SQL Server Express ورأيت الصفوف في جدول demotb ، سترى تم تحديث الصف بنجاح كما هو موضح أدناه.
TutorialID
TutorialName
1
C#
2
ASP.Net
3
VB.Net
TutorialID
TutorialName
3
VB.Net
TutorialID
TutorialName
3
اكتمل VB.Net
- SQLCommand - يتم استخدام نوع البيانات هذا لتعريف الكائنات التي يتم استخدامها لتنفيذ عمليات SQL مقابل قاعدة بيانات. سيحتوي هذا الكائن على أمر SQL الذي سيتم تشغيله مقابل قاعدة بيانات SQL Server الخاصة بنا.
- يتم استخدام كائن Dataadapter لإجراء عمليات SQL محددة مثل أوامر الإدراج والحذف والتحديث.
- ثم نحدد متغير سلسلة ، وهو SQL للاحتفاظ بسلسلة أوامر SQL الخاصة بنا.
حذف السجلات
تمامًا مثل الوصول إلى البيانات ، فإن C # لديه القدرة على حذف السجلات الموجودة من قاعدة البيانات أيضًا. لإظهار كيفية حذف السجلات في قاعدة بياناتنا ، لنأخذ نفس بنية الجدول التي تم استخدامها أعلاه.
TutorialID
TutorialName
1
C#
2
ASP.Net
3
اكتمل VB.Net
دعنا نغير الشفرة في نموذجنا ، حتى نتمكن من حذف الصف التالي
TutorialID
TutorialName
3
اكتمل VB.Net
لذا دعنا نضيف الكود التالي إلى برنامجنا. سيتم استخدام مقتطف الشفرة أدناه لحذف سجل موجود في قاعدة بياناتنا.
شرح الكود: -
- الاختلاف الرئيسي في هذا الرمز هو أننا نصدر الآن عبارة SQL المحذوفة. يتم استخدام عبارة الحذف لحذف الصف في جدول demotb الذي يحتوي فيه TutorialID على قيمة 3.
- في أمر محول البيانات الخاص بنا ، نقوم الآن بربط الأمر insert SQL بالمحول. ثم نصدر أيضًا طريقة ExecuteNonQuery التي يتم استخدامها لتنفيذ عبارة Delete مقابل قاعدة بياناتنا.
عندما يتم تعيين الكود أعلاه ، ويتم تنفيذ المشروع باستخدام Visual Studio ، ستحصل على الإخراج أدناه. بمجرد عرض النموذج ، انقر فوق زر الاتصال.
انتاج:-
إذا ذهبت بالفعل إلى SQL Server Express ورأيت الصفوف في جدول demotb ، سترى حذف الصف بنجاح كما هو موضح أدناه.
TutorialID
TutorialName
1
C#
2
ASP.Net
3
اكتمل VB.Net
TutorialID
TutorialName
3
اكتمل VB.Net
ربط عناصر التحكم بالبيانات
في الأقسام السابقة ، رأينا كيفية استخدام أوامر C # مثل SQLCommand و SQLReader لجلب البيانات من قاعدة بيانات. لقد رأينا أيضًا كيف نقرأ كل صف في الجدول ونستخدم صندوق الرسائل لعرض محتويات الجدول للمستخدم.
ولكن من الواضح أن المستخدمين لا يريدون رؤية البيانات المرسلة عبر مربعات الرسائل ويريدون ضوابط أفضل لعرض البيانات. لنأخذ هيكل البيانات أدناه في جدول
TutorialID
TutorialName
1
C #
2
ASP.Net
3
اكتمل VB.Net
من هيكل البيانات أعلاه ، يرغب المستخدم بشكل مثالي في رؤية TutorialID واسم البرنامج التعليمي معروضين في مربع نص. ثانيًا ، قد يرغبون في الحصول على نوع من التحكم في الأزرار قد يسمح لهم بالانتقال إلى السجل التالي أو إلى السجل السابق في الجدول. سيتطلب هذا القليل من التشفير الإضافي من طرف المطور.
الخبر السار هو أن C # يمكنه تقليل جهد التشفير الإضافي عن طريق السماح بربط عناصر التحكم بالبيانات. هذا يعني أن C # يمكنه ملء قيمة مربع النص تلقائيًا وفقًا لحقل معين في الجدول.
لذلك ، يمكن أن يكون لديك مربعا نص في شكل نوافذ. يمكنك بعد ذلك ربط مربع نص واحد بحقل TutorialID ومربع نص آخر بحقل TutorialName. يتم هذا الربط في مصمم Visual Studio نفسه ، ولا تحتاج إلى كتابة كود إضافي لهذا الغرض.
سيضمن Visual Studio أنه يكتب الرمز لك لضمان عمل الربط. ثم عند تشغيل التطبيق الخاص بك ، سيتم توصيل عناصر التحكم في مربع النص تلقائيًا بقاعدة البيانات ، وجلب البيانات وعرضها في عناصر التحكم في مربع النص. لا يلزم الترميز من نهاية المطور لتحقيق ذلك.
دعونا نلقي نظرة على مثال رمز لكيفية تحقيق ربط الضوابط.
في مثالنا ، سنقوم بإنشاء مربعي نص في نموذج windows. سوف يمثلون معرف البرنامج التعليمي واسم البرنامج التعليمي على التوالي. سيتم ربطهما بحقلي معرف البرنامج التعليمي واسم TutorialName في قاعدة البيانات وفقًا لذلك.
دعونا نتبع الخطوات المذكورة أدناه لتحقيق ذلك.
الخطوة 1) إنشاء النموذج الأساسي. في النموذج ، قم بسحب وإسقاط مكونين - التسميات ومربعات النص. ثم قم بتنفيذ الخطوات الفرعية التالية
- ضع القيمة النصية للتسمية الأولى على أنها TutorialID
- ضع القيمة النصية للتسمية الثانية باسم TutorialName
- ضع خاصية اسم مربع النص الأول باسم txtID
- ضع خاصية اسم مربع النص الثاني باسم txtName
فيما يلي الشكل الذي سيبدو عليه النموذج بمجرد تنفيذ الخطوات المذكورة أعلاه.
الخطوة 2) الخطوة التالية هي إضافة Navigator ملزمة إلى النموذج. يمكن لعنصر التنقل المستكشف التنقل تلقائيًا عبر كل صف من صفوف الجدول. لإضافة متصفح التجليد ، ما عليك سوى الانتقال إلى مربع الأدوات واسحبه إلى النموذج.
الخطوة 3) الخطوة التالية هي إضافة ربط إلى قاعدة بياناتنا. يمكن القيام بذلك عن طريق الذهاب إلى أي عنصر تحكم مربع نص والنقر على خاصية DataBindings-> نص. يتم استخدام Binding Navigator لإنشاء ارتباط من التطبيق الخاص بك إلى قاعدة بيانات.
عند تنفيذ هذه الخطوة ، سيقوم Visual Studio تلقائيًا بإضافة الرمز المطلوب إلى التطبيق للتأكد من أن التطبيق مرتبط بقاعدة البيانات. عادة ما يشار إلى قاعدة البيانات في Visual Studio على أنها مصدر بيانات المشروع. لذلك لضمان إقامة الاتصال بين التطبيق وقاعدة البيانات ، فإن الخطوة الأولى هي إنشاء مصدر بيانات المشروع.
ستظهر الشاشة التالية. انقر على الرابط "إضافة مصدر بيانات المشروع". عندما تنقر على مصدر بيانات المشروع ، سيظهر لك معالج ؛ هذا سيسمح لك بتعريف اتصال قاعدة البيانات.
الخطوة 4) بمجرد النقر فوق ارتباط إضافة مصدر بيانات المشروع ، سيظهر لك معالج سيتم استخدامه لإنشاء اتصال بقاعدة بيانات demotb. تُظهر الخطوات التالية بالتفصيل ما يجب تكوينه أثناء كل خطوة من خطوات المعالج.
- في الشاشة التي تنبثق ، اختر نوع مصدر البيانات كقاعدة بيانات ثم انقر فوق الزر التالي.
- في الشاشة التالية ، تحتاج إلى بدء إنشاء سلسلة الاتصال بقاعدة البيانات. مطلوب سلسلة الاتصال للتطبيق لإنشاء اتصال بقاعدة البيانات. يحتوي على معلمات مثل اسم الخادم واسم قاعدة البيانات واسم برنامج التشغيل.
- انقر فوق زر اتصال جديد
- اختر مصدر البيانات مثل Microsoft SQL Server
- انقر فوق الزر متابعة.
- بعد ذلك ، تحتاج إلى إضافة بيانات الاعتماد للاتصال بقاعدة البيانات
- اختر اسم الخادم الذي يوجد عليه SQL Server
- أدخل معرف المستخدم وكلمة المرور للاتصال بقاعدة البيانات
- اختر قاعدة البيانات كما demotb
- انقر فوق الزر "موافق".
- في هذه الشاشة ، سنؤكد جميع الإعدادات التي تم تنفيذها على الشاشات السابقة.
- حدد الخيار "نعم" لتضمين البيانات الحساسة في سلسلة الاتصال
- انقر فوق الزر "التالي".
- في الشاشة التالية ، انقر فوق الزر "التالي" لتأكيد إنشاء سلسلة الاتصال
- في هذه الخطوة ،
- اختر جداول Demotb التي ستظهر في الشاشة التالية.
- سيصبح هذا الجدول الآن مصدر بيانات متاحًا في مشروع C #
عند النقر فوق الزر "إنهاء" ، سيضمن Visual Studio الآن أن التطبيق يمكنه الاستعلام عن كافة الصفوف الموجودة في الجدول Demotb.
الخطوة 5) الآن بعد أن تم تعريف مصدر البيانات ، نحتاج الآن إلى ربط مربع نص TutorialID و TutorialName بجدول demotb. عند النقر على خاصية النص إما في مربع نص TutorialID أو TutorialName ، سترى الآن أن مصدر الربط لـ Demotb متاح.
بالنسبة لمربع النص الأول ، اختر معرف البرنامج التعليمي. كرر هذه الخطوة لمربع النص الثاني واختر الحقل كـ TutorialName. توضح الخطوات أدناه كيف يمكننا التنقل إلى كل عنصر تحكم وتغيير الربط وفقًا لذلك.
- انقر فوق عنصر تحكم معرف البرنامج التعليمي.
- في نافذة الخصائص ، سترى خصائص مربع نص TutorialID. انتقل إلى خاصية النص وانقر على زر السهم لأسفل.
- عند النقر فوق زر السهم لأسفل ، سترى خيار مصدر demotbBinding. وتحت هذا ، سترى خيارات TutorialName و TutorialID. اختر معرف البرنامج التعليمي.
كرر الخطوات الثلاث المذكورة أعلاه لمربع نص اسم البرنامج التعليمي.
- لذا انقر على مربع نص اسم البرنامج التعليمي
- انتقل إلى نافذة الخصائص
- اختر خاصية Text
- حدد خيار TutorialName تحت demotbBindingSource
الخطوة 6) بعد ذلك ، نحتاج إلى تغيير خاصية مصدر الربط لـ BindingNavigator للإشارة إلى مصدر بيانات Demotb. السبب في قيامنا بذلك هو أن Binding Navigator يحتاج أيضًا إلى معرفة الجدول الذي يحتاج إلى الرجوع إليه.
يتم استخدام Binding Navigator لتحديد السجل التالي أو السابق في الجدول. لذلك على الرغم من إضافة مصدر البيانات إلى المشروع ككل وإلى عنصر تحكم مربع النص ، ما زلنا بحاجة إلى التأكد من أن Binding Navigator لديه أيضًا رابط لمصدر البيانات الخاص بنا. للقيام بذلك ، نحتاج إلى النقر فوق كائن المستعرض Binding ، والانتقال إلى خاصية Binding Source واختيار الكائن المتاح
بعد ذلك ، نحتاج إلى الانتقال إلى نافذة الخصائص حتى نتمكن من إجراء التغيير على خاصية مصدر ملزم.
عندما يتم تنفيذ جميع الخطوات المذكورة أعلاه بنجاح ، ستحصل على الإخراج المذكور أدناه.
انتاج:-
الآن عند إطلاق المشروع ، يمكنك أن ترى أن مربعات النص تحصل تلقائيًا على القيم من الجدول.
عند النقر فوق الزر "التالي" في المستكشف ، فإنه ينتقل تلقائيًا إلى السجل التالي في الجدول. وتأتي قيم السجل التالي تلقائيًا في مربعات النص
TutorialID
TutorialName
1
C #
2
ASP.Net
3
اكتمل VB.Net
- انقر فوق زر اتصال جديد
- اختر مصدر البيانات مثل Microsoft SQL Server
- انقر فوق الزر متابعة.
- اختر اسم الخادم الذي يوجد عليه SQL Server
- أدخل معرف المستخدم وكلمة المرور للاتصال بقاعدة البيانات
- اختر قاعدة البيانات كما demotb
- انقر فوق الزر "موافق".
- حدد الخيار "نعم" لتضمين البيانات الحساسة في سلسلة الاتصال
- انقر فوق الزر "التالي".