delphi4arab منتديات دلفي للعرب
كيف أقوم بإدخال معلومات في جدول من نوع N,N - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف أقوم بإدخال معلومات في جدول من نوع N,N (/showthread.php?tid=10954)

الصفحات: 1 2 3


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - embarcadero - 16-07-2020

(16-07-2020, 01:15 AM)ALG2009 كتب : لكن مازال هناك مشكل وهو عند إضافة تلميذ جدديد وإختيار من الكومبوبكس إسم الدرس والضغط على حفظ يضاف التلميذ فقط دون الدرس الذي تم إختياره من الكومبوبوكس
حيث لو تم الضغط على التلميذ في الديبيقريد ثم الضغط على إضافة لإضافة تلميذ سيتم إضافة الدرس المحدد في الكمبوبوكس للتلميذ الذي الذي تم إختياره
هناك خطب ما
لماذا عند الضغط على إضافة تلميذ جديد وإختيار الدرس في الكمبوبوكس والضغط على حفظ لا يتم حفظ الدرس أيضا؟

يجب حفظ التلميذ اولا  ثم حفظ الدرس لان كل واحد له جدوله الخاص به


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - ALG2009 - 16-07-2020

(16-07-2020, 09:42 AM)embarcadero كتب : يجب حفظ التلميذ اولا  ثم حفظ الدرس لان كل واحد له جدوله الخاص به

إن كان حفظ التلميذ لوحده والدرس لوحده لماذا قمنا بربط الجداول؟


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - larbiparadox - 16-07-2020

(16-07-2020, 05:30 PM)ALG2009 كتب :
(16-07-2020, 09:42 AM)embarcadero كتب : يجب حفظ التلميذ اولا  ثم حفظ الدرس لان كل واحد له جدوله الخاص به

إن كان حفظ التلميذ لوحده والدرس لوحده لماذا قمنا بربط الجداول؟

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


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - ALG2009 - 17-07-2020

(16-07-2020, 06:03 PM)larbiparadox كتب : لو كان للتلميذ درس واحد نستطيع حفظ مرة واحدة وانتهى الامر ، في قفل واحد نضع حفظ التلميذ و بعدها حفظ الدرس ، لكن للتلميذ مجموعة من الدروس

سهرت مع هذا الفيديو لأحوله إلى الفيربيرد فلم أستطع أظنه يفي بالغرض أليس كذلك

الفيديو


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - ALG2009 - 20-07-2020

حاولت كثيرا مع الشرح المقدم في الفيديو ولكن لم يعمل كما ينبغي أين المشكل ؟


كود :
declare variable id_stud integer ; declare variable id_lesson integer; BEGIN FOR SELECT id_student from student where name ='student1'   into :id_stud do     SUSPEND;   if (:id_stud  is null) then   begin   insert into student (name)values('student1') returning id_student into id_stud;   end     FOR SELECT id_less from lessons where lessname ='lesson1+'   into :id_lesson do     SUSPEND;   if (:id_lesson  is null) then   begin   insert into lessons (lessname)values('lesson1') returning id_less into id_lesson;   end   insert into studlesson (id_student, id_less) values(:id_stud,:id_lesson) ;

الجدول الأول 
كود :
CREATE TABLE STUDENT (   ID_STUDENT  INTEGER NOT NULL,   NAME        VARCHAR(30) CHARACTER SET UTF8,   CONSTRAINT PK_STUDENT     PRIMARY KEY (ID_STUDENT) ); CREATE TRIGGER STUDENT_BI FOR STUDENT ACTIVE BEFORE INSERT POSITION 0 AS BEGIN   IF (NEW.ID_STUDENT IS NULL) THEN     NEW.ID_STUDENT = GEN_ID(GEN_STUDENT_ID,1); END

الجدول الثاني
كود :
CREATE TABLE LESSONS (   ID_LESS   INTEGER NOT NULL,   LESSNAME  VARCHAR(30),   CONSTRAINT PK_LESSONS     PRIMARY KEY (ID_LESS) ); CREATE TRIGGER LESSONS_BI FOR LESSONS ACTIVE BEFORE INSERT POSITION 0 AS BEGIN   IF (NEW.ID_LESS IS NULL) THEN     NEW.ID_LESS = GEN_ID(GEN_LESSONS_ID,1);

الجدول الثالث
كود :
CREATE TABLE STUDLESSON (   ID_STUDENT  INTEGER NOT NULL,   ID_LESS     INTEGER NOT NULL,   CONSTRAINT PK_STUDLESSON     PRIMARY KEY (ID_STUDENT, ID_LESS),   FOREIGN KEY (ID_STUDENT)     REFERENCES STUDENT(ID_STUDENT),   FOREIGN KEY (ID_LESS)     REFERENCES LESSONS(ID_LESS) );

عند إظافة الدرس التاني للتلميذ الأول لا يضاف لا أدري ما السبب ولكن في الفيديو يضاف عادي
وكيف يمكن إضافة هذا الكزد الكبير  في الدلفي


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - S.FATEH - 21-07-2020

السلام عليكم
هل لديك مشكل في الاظافة ام في العرض هل تريد الحصول على لائحة الدروس لكل تلميذ ام لديك مشكل في الاظافة ككل ....


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - ALG2009 - 21-07-2020

وعليكم السلام

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


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - larbiparadox - 21-07-2020

يمكن كتابة ذلك داخل قاعدة البيانات على شكل Procedure ، لكن عند إدخال يتم بواسطة هذه Procedure


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - S.FATEH - 21-07-2020

السلام عليكم
في الفيربيرد يمكنك استخدام الدالة List للحصول على قائمة الدروس لكل تمليذ


RE: كيف أقوم بإدخال معلومات في جدول من نوع N,N - ALG2009 - 21-07-2020

(21-07-2020, 01:13 PM)larbiparadox كتب : يمكن كتابة ذلك داخل قاعدة البيانات على شكل Procedure ، لكن عند إدخال يتم بواسطة هذه Procedure

حاولت ولم أستطع 
فكتبت الكود عبارة على مجموعه من الجمل وإشتغل ولكن يدخل الدرس مرة واحد ويتوقف عن الإدخال حتى ولو غيرت إسم الدرس لا أدري مالسبب وكان من المفروض أن يضيف الدرس الجديد لنفس التلميذ!!
كيف يمكن عمل ذلك بالإجراء Procedure مع العلم لم أستطع توضيف براميترات الإدخال
وهل يمكن عمل ذلك دون إجراءProcedure؟

(21-07-2020, 01:46 PM)S.FATEH كتب : السلام عليكم
في الفيربيرد يمكنك استخدام الدالة List للحصول على قائمة الدروس لكل تمليذ

المشكل في الإدخال كما سبق وقلت لماذا يدخل مرة واحده ويتوقف لو أدخلت درس للتلميذ وعند محاولة إدخال درس آخر لنفس التلميذ لا يقوم بإدخاله في قاعدة البيانات بالرغم من أني كتب الكود نفس ما شاهدته في الفيديو https://www.youtube.com/watch?v=cEfjYynwooE

مع العلم أنه يمكن عرض البيانات بكويري
عرض بيانات درس أو دروس التلميذ
كود :
select * from lessons join studlesson on  lessons.id_less=studlesson.id_less WHERE StudLesson.id_student =1


عرض بيانات التلاميذ على حسب الدرس
كود :
select * from student join studlesson on student.id_student=studlesson.id_student WHERE StudLesson.id_less =7

هل ممكن كيفة إستخدام الدالة List لأستفيد منها ؟