![]() |
|
كيف أقوم بإدخال معلومات في جدول من نوع 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) |
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 كتب : السلام عليكم المشكل في الإدخال كما سبق وقلت لماذا يدخل مرة واحده ويتوقف لو أدخلت درس للتلميذ وعند محاولة إدخال درس آخر لنفس التلميذ لا يقوم بإدخاله في قاعدة البيانات بالرغم من أني كتب الكود نفس ما شاهدته في الفيديو 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 لأستفيد منها ؟ |