الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

رالتحقق قبل الحفظ في قاعدة البيانات

بدأه thebest2 في 17 يوليو 2008 · 13 رد · 1,414 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركات

أنا عندي مشكلة وأتمنى من الجميع أنه يساعدني

المشكلة أني أريد أن تحقق من عدم تكرار في المفتاح الرئيسي قبل النخزين في قاعدة البينات ولكن لأ أعرف الالية والكود الممكن استخدامهما

ولذلك ممكن شرح الالية أو الكود اذا توفر

وشكراً

#2

ماهي قاعدة البيانات وماهو نوع الحقل؟

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#3

وعليكم السلام ورحمة الله وبركاته

المفتاح الرئيسي لا تتكرر فيه البيانات وإن حاولت وضع قيمة مكررة عن طريق الكود فسيولد البرنامج رسالة خطأ :)

تحياتي

#4

قاعد البيانات نوع اكسس

نوع الحقل من نوع نصي

اقتباس
المفتاح الرئيسي لا تتكرر فيه البيانات وإن حاولت وضع قيمة مكررة عن طريق الكود فسيولد البرنامج رسالة خطأ regular_smile.gif

مشكور بالبداية على المشاركة

بس أنا بدي أتأكد قبل ما يحدث اتصال

#5

المفتاح الرئيسي لابد ان يكون رقم

ثانيا اختر الحقل واختر علامة المفتاح ليكون مفتاح رئيسي ومن ثم ان النظام لا يسمح بالتكرار

وافضل شي تجعله ترقيم تلقائي

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#6
اقتباس
انيا اختر الحقل واختر علامة المفتاح ليكون مفتاح رئيسي ومن ثم ان النظام لا يسمح بالتكرار

وافضل شي تجعله ترقيم تلقائي

بالبداية أحب أشكر يا أخ Romantic touch على التفاعل بالس اللي أنا بدب ياه كالتالي :-

1-انا مختاره كمفتاح رئيسي بس المشكلة أنه في الواقع انا بدي أفحص قبل ما أبدأ عملية التخزين بقاعدة البيانات

2-بالنسبة لان أجعل ترقيم تلقائي هذا الامر ما راح ينفعل لانه انا اللي عامل برنامج موظفين و من الممكن انه يحدث أن المدخل البيانات ينسى ارقام الموظفين وبالتالي من الممكن أن يكون للموظفين نفس الرقم

#7

يا شباب ما في حد يساعدني

#8

أفهم قصدك وبإمكانك حل المشكلة هذه عن طريق عمل Check على الرقم المدخل قبل إتمام عملية الـ Insert

فقط قم بعمل جملة Select ID from Table where ID=enteredID

ثم قم بتنفيذها وإذا كانت هناك نتيجة فهذا يعني أن الرقم موجود ويجب تغييره وإلا فلا ..

في حال احتجت المساعدة أنا معك ...

#9

مشكور يا أخ afrnet

على هذا التفاعل بس ممكن توضح بالكود اذا أمكن

يعني كيف ممكن أعمل هيك بالكود

ومشكور على التفاعل

#10

السلام عليكم ورحمة الله وبركاتة

اخي العزيز

ممكن تستفيد من معامل الاخطاء اكسيشن

ويكون كاالتالي

Try

لاحط اخي هنا يتم عمل جملة الاضافة عادي جدا ولكن اذا وجد رقم 15 موجود من قبل في الجدول هنا يحدث الخطا واالبتالي يتجاهل الكود وينزل للجزي بعد

catsch

cmd.commandtect="insert into tabelname(studentid)values('15')"

cmd.ExecuteNonQuery()

Catch ex As InvalidCastException

بعد ما نزل لل catch

هايلاقي ماسج بوكس تفيد ان الكود موجود من قبل

msgbox("الكود موجود من قبل")

End Try

ارجو اجود افدك يا اخي

اي حاجة تانية انا في الخدمة

#11

مشكور يا أخ en_sayed

تسلم بس في عندي فكرة ومش عارف

اطبقها

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

#12

السلام عليكم ورحمة الله وبركاتة

اخي عملية التعديل او عملية الح\ف بتكون عن طريف المفتاح الاساسي للجدول

لو موجود قدامك علي الشاشة هاتستعلم عنة في جملة السيكول

لو مش موجود ممكن يكون في INBUTBOX

ياريت توضح انت عايز اية بالظبط

تم تعديل هذه المشاركة بواسطة eng_sayed في 4 أغسطس 2008 في 02:13

#13
اقتباس
لو موجود قدامك علي الشاشة هاتستعلم عنة في جملة السيكول

لو مش موجود ممكن يكون في INBUTBOX

ياريت توضح انت عايز اية بالظبط

انا بدي أوضحلك

مثلا نقول أنه في موظف أسمه أحمد اشتغل شهر وقدم استقالته!

وبالتالي في البرنامج كيف ممكن أعمل هاي الحركة مثلا انا مابدي أحذف من قاعدة البيانات وله كان بقدر أستخدم أمر delete في لغة sql

بس ما بدي في نفس البرنامج أنه ينزله راتب أو يسجل اجازات يعني بدي امنع اي حركة جديدة عليه بس

انا هيك بدي أمر الحذف

ممكن انه يضل حسابه في البرنامج موجود بس المشكلة انه احنا من خاف من الاخطاء اللي بتحدث

وبالتالي بكون من الأمن انه نوقف احسابه

وبالتالي هيكون أنه الامر اللي بدي ياه هل هنالك طريق سؤال في sql &vb.net نقدر نوجد هاي الحركة

ومشكور على اهتمامك وتفاعلك معي وبأمل انه أكون اوضحت

#14

أتوقع اني فهمت قصدك ...

انت خايف تحذف سجل الموظف من الجدول لأن هذا السجل مرتبط بسجلات أبناء

واذا حذفته فسوف تصبح السجلات التابعة لهذا الموظف في الجداول الأخرى سجلات يتيمة وتحدث بعض الأخطاء

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

فعند إيقاف راتب هذا الموظف او أخذ إجازه على حسابه مثلا أو استقالته تقوم بتغيير قيمة هذا العمود الى "معطل" وتكون قد استخدمت شرطا عند حساب الرواتب بأن تحسب الرواتب للموظفين المفعلين فقط

جرب هالفكرة واذا ما فادتك فالأعضاء ما راح يقصروا

مواضيع مشابهة