easyDelphi Q&A
+1 تصويت
26 مشاهدات

لدي الكود التالي 

begin
   i f Adotable1.Locate('Cod_Spc;Nbr_Groupe', VarArrayOf([sLabel1.Caption,sComboBox1.ItemIndex]),   [loCaseInsensitive]) then
   begin
      ShowMessage('This record is Present....!!');
   end
   else
   with adotable1 do
      begin
      insert;
      i f (sComboBox1.ItemIndex = 0) then FieldValues['Nbr_Groupe'] := '01';
      i f (sComboBox1.ItemIndex = 1) then FieldValues['Nbr_Groupe'] := '02';
      i f (sDBLookupComboBox1.ListFieldIndex= 0) then
          FieldValues['Cod_Spc']:= sLabel1.Caption ;
      post;
      showmessage('Vous avez ajouté avec succès un Groupe ..');
      end;

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

سُئل في تصنيف vcl بواسطة (1,040 نقاط) | 26 مشاهدات
 
إني أرى أنه لا حاجة لك بكل هذا الكود ...’’’’’؟؟؟؟ كما أنه يبدو لي  غريبا جدا علي .....
لماذا لا تحاول أن تبسط الأمور أكثر و تستعمل فقط "DBLookupComboBox" لإدخال كل من المفتاحين الذان يخصان كل من جدول "Specialite" و جدول "Groupe" ’’’,,؟؟؟؟؟ لماذا كل هذا التعقيد ....
لماذا صنعوا لنا مكون "DBLookupComboBox" في جميع لغات البرمجة ؟؟؟ فقط لألا نقع في المشكل الذي أنت فيه الأن .
أتمنى أن لا تفهم تعليقي هذا على أنه نوع من الأساءة أو الأنقاص من قدراتك في البرمجة و شكر لتفهمك ..

2 إجابة

+3 تصويتات
حسب الرسالة . قاعدة البيانات رفضت الاخال بسبب تكرار المفتاح الاساسي .. بشكل اوضح . انت وضعت قيمة 02 في حقل . وهناك سجل اخر فيه نفس القيمة . والتكرار ممنوع لان هذا الحقل هو مفتاح اساسي primary key .
لا استطيع تحديد الحل . هل هذا الحقل يجب ان يكون مفتاح اساسي وهل يجب ان لا يقبل التكرار . هذا شيء يعود لتصميم قاعدة بياناتك وما يمثله هذا الحقل من معلومات .. اذا نعم عندها عليك ان تمنع المستخدم من اختيار قيمة مكررة . واذا لا كان لا يجب ان يكون مفتاح . فالغي المفتاح واجعله حقل عادي يقبل التكرار ..
تم الرد عليه بواسطة (15,220 نقاط)
كما أشرت تماما أريد أن أمنع من تكرار كلا الحقلين معا في نفس الوقت
الجدول عبارة عن جدول ابن نتج من أبوين و يحتوي على مفتاج أجنبي كما أشرت لكلا الجدولين
اذا اردت منع حقلين من التكرار مع بعض . اعمل لهم index واحد . وليس لكل واحد على حدا .
ربي يحفضك استاذ
+1 تصويت

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

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

تالتا : استعمل : 

 Try
    Statement
  {Statement...}
  Except
    Statement
  {Statement...}
  End;

تم الرد عليه بواسطة (5,190 نقاط)
مشكور ربي يجازيك خير

اسئلة متعلقة

+1 تصويت
3 إجابة
سُئل سبتمبر 4 في تصنيف vcl بواسطة Yamada Fakir (1,040 نقاط) | 58 مشاهدات
0 تصويتات
0 إجابة
سُئل أغسطس 27 في تصنيف vcl بواسطة Yamada Fakir (1,040 نقاط) | 58 مشاهدات
+1 تصويت
1 إجابة
سُئل منذ 4 أيام في تصنيف SQL Server بواسطة Yamada Fakir (1,040 نقاط) | 21 مشاهدات
+2 تصويتات
1 إجابة
سُئل أغسطس 29 في تصنيف vcl بواسطة Yamada Fakir (1,040 نقاط) | 20 مشاهدات
+1 تصويت
1 إجابة
سُئل أغسطس 6 في تصنيف vcl بواسطة KHALED (5,190 نقاط) | 38 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

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

211 سؤال
399 إجابة
689 تعليق
118 مستخدم