تحقق من تكرار اسم المستخدم والبريد الإلكتروني في قاعدة البيانات
عند النظر إلى الشيفرة البرمجية التي قدمتها، يظهر أنها تستخدم للتحقق من وجود اسم مستخدم وعنوان بريد إلكتروني محددين في جدول يسمى LOGIN داخل قاعدة البيانات LogInData. سأشرح كيفية عمل هذه الشيفرة البرمجية بشكل مفصل.
أولاً، يتم إنشاء اتصال بقاعدة البيانات باستخدام كائن SqlConnection، ويتم تحديد سلسلة الاتصال في السطر الأول. يحتوي هذا السلسلة على معلومات حول موقع قاعدة البيانات ومصدر البيانات ومدى الوقت الذي يجب أن ينتظر الاتصال لإعادة محاولة الاتصال.
-
استعلام SQL لاسترداد بيانات سنة ماضية20/03/2024
-
استعلام MySQL: البحث باستخدام LIKE ومصفوفة29/02/2024
ثم يتم إنشاء كائن SqlDataAdapter في السطر الثاني، ويقوم هذا الكائن بتمثيل وسيط بين قاعدة البيانات وكائن DataTable الذي يحتفظ بالبيانات في الذاكرة. يتم تعيين استعلام SQL في SqlDataAdapter باستخدام الأمر “Select Count(*) From LOGIN where Username = ‘” + textBox1.Text + “‘ and Email = ‘” + textBox3.Text + “‘”، حيث يتم فحص عدد السجلات التي تطابق اسم المستخدم وعنوان البريد الإلكتروني المدخلين.
في السطر الثالث، يتم فتح الاتصال بقاعدة البيانات باستخدام con.Open().
ثم يتم إنشاء DataTable وتعبئتها بالبيانات باستخدام sda.Fill(dt) في السطر الرابع.
أخيرًا، يتم فحص قيمة العنصر في الصف الأول والعمود الأول من DataTable. إذا كانت القيمة تساوي “1”، يعني ذلك أن هناك سجلًا واحدًا على الأقل يتطابق مع الاسم المستخدم وعنوان البريد الإلكتروني المدخلين. في هذه الحالة، يتم عرض رسالة تنبيه تفيد بأن اسم المستخدم موجود بالفعل.
باختصار، تستخدم هذه الشيفرة البرمجية للتحقق مما إذا كان اسم المستخدم وعنوان البريد الإلكتروني المدخلين موجودين بالفعل في جدول LOGIN داخل قاعدة البيانات LogInData، وتقوم بإعلام المستخدم بذلك إذا كان الشرط المحدد يتحقق.
المزيد من المعلومات
بالطبع، سأوفر مزيد من التفاصيل حول كل خطوة في الشيفرة البرمجية لفهمها بشكل أفضل:
-
الاتصال بقاعدة البيانات:
في السطر الأول، تُنشئ متغيرcon
من نوعSqlConnection
الذي يُمثل اتصالًا بقاعدة البيانات. السلسلة التي تمر إليها تحتوي على معلومات الاتصال بقاعدة البيانات، مثل المسار والأمان. -
إعداد استعلام SQL:
يتم في السطر الثاني استخدامSqlDataAdapter
لتحديد استعلام SQL. يتم استخدامSelect Count(*) From LOGIN where Username = '" + textBox1.Text + "' and Email = '" + textBox3.Text + "'"
لاسترجاع عدد السجلات التي تطابق الاسم المستخدم وعنوان البريد الإلكتروني المدخلين. -
فتح الاتصال بقاعدة البيانات:
يتم فتح الاتصال بقاعدة البيانات في السطر الثالث باستخدامcon.Open()
. -
تعبئة DataTable بالبيانات:
في السطر الرابع، يتم إنشاءDataTable
جديدة بواسطةnew DataTable()
، ثم يتم تعبئتها بنتائج الاستعلام باستخدامsda.Fill(dt)
. -
فحص النتائج:
في السطر الخامس، يتم فحص قيمة الخلية في الصف الأول والعمود الأول منDataTable
. إذا كانت القيمة تساوي “1”، يعني ذلك أن هناك سجلًا واحدًا على الأقل يتطابق مع الاسم المستخدم وعنوان البريد الإلكتروني المدخلين. -
رسالة التنبيه:
إذا كان الشرط صحيحًا، يتم عرض نافذة تنبيه برسالة “Username already existing” باستخدامMessageBox.Show()
.
باختصار، تستخدم هذه الشيفرة البرمجية تقنية ADO.NET للاتصال بقاعدة البيانات، وتقوم بتنفيذ استعلام SQL للتحقق من وجود سجلات تطابق مع المدخلات، ثم تعالج النتائج وتقوم بإعلام المستخدم بوجود اسم مستخدم مكرر إذا كان الشرط المحدد يتحقق.