(16-07-2020, 01:15 AM)ALG2009 كتب : [ -> ]لكن مازال هناك مشكل وهو عند إضافة تلميذ جدديد وإختيار من الكومبوبكس إسم الدرس والضغط على حفظ يضاف التلميذ فقط دون الدرس الذي تم إختياره من الكومبوبوكس
حيث لو تم الضغط على التلميذ في الديبيقريد ثم الضغط على إضافة لإضافة تلميذ سيتم إضافة الدرس المحدد في الكمبوبوكس للتلميذ الذي الذي تم إختياره
هناك خطب ما
لماذا عند الضغط على إضافة تلميذ جديد وإختيار الدرس في الكمبوبوكس والضغط على حفظ لا يتم حفظ الدرس أيضا؟
يجب حفظ التلميذ اولا ثم حفظ الدرس لان كل واحد له جدوله الخاص به
(16-07-2020, 09:42 AM)embarcadero كتب : [ -> ]يجب حفظ التلميذ اولا ثم حفظ الدرس لان كل واحد له جدوله الخاص به
إن كان حفظ التلميذ لوحده والدرس لوحده لماذا قمنا بربط الجداول؟
(16-07-2020, 05:30 PM)ALG2009 كتب : [ -> ] (16-07-2020, 09:42 AM)embarcadero كتب : [ -> ]يجب حفظ التلميذ اولا ثم حفظ الدرس لان كل واحد له جدوله الخاص به
إن كان حفظ التلميذ لوحده والدرس لوحده لماذا قمنا بربط الجداول؟
لو كان للتلميذ درس واحد نستطيع حفظ مرة واحدة وانتهى الامر ، في قفل واحد نضع حفظ التلميذ و بعدها حفظ الدرس ، لكن للتلميذ مجموعة من الدروس
(16-07-2020, 06:03 PM)larbiparadox كتب : [ -> ]لو كان للتلميذ درس واحد نستطيع حفظ مرة واحدة وانتهى الامر ، في قفل واحد نضع حفظ التلميذ و بعدها حفظ الدرس ، لكن للتلميذ مجموعة من الدروس
سهرت مع هذا الفيديو لأحوله إلى الفيربيرد فلم أستطع أظنه يفي بالغرض أليس كذلك
الفيديو
حاولت كثيرا مع الشرح المقدم في الفيديو ولكن لم يعمل كما ينبغي أين المشكل ؟
كود :
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)
);
عند إظافة الدرس التاني للتلميذ الأول لا يضاف لا أدري ما السبب ولكن في الفيديو يضاف عادي
وكيف يمكن إضافة هذا الكزد الكبير في الدلفي
السلام عليكم
هل لديك مشكل في الاظافة ام في العرض هل تريد الحصول على لائحة الدروس لكل تلميذ ام لديك مشكل في الاظافة ككل ....
وعليكم السلام
ما أردته وهو كيفية التعامل مع العلاقة كثير لكثير من إضافة وعرض وحذف
مثلا أريد إضافة تلميذ وأضيف في نفس الوقت الدرس فمن خلال الإجابات التي إستفت منها كثيرا بأنه لا يمكنني الإضافة في جدول التلميذ والدرس في نفس الوقت إن كنت قد فهمت المقصود فوجدت هذا الفيديو في الرد السايق يبين كيف التعامل مع جدول كثير لكثير والاضافة في نفس الوقت في الجدولين
3 أيام وأنا أحاول معه لأحوله إلى الفايربيرد ولكن الكود لم يعمل
سؤالي هو كيف يمكنني إضافة الكود والتلميذ في نفس الوقت أظن أن الكود قد إشتغل ولكن عند إضافة درس لنفس التلميذ لم يعمل الكود ما السبب؟
زكيف يمكن إدخال هذا الكود الطويل في كويري داخل الدلفي لأعرض كل تلميذ وما هي الدروس التي يدرسها؟
يمكن كتابة ذلك داخل قاعدة البيانات على شكل Procedure ، لكن عند إدخال يتم بواسطة هذه Procedure
السلام عليكم
في الفيربيرد يمكنك استخدام الدالة List للحصول على قائمة الدروس لكل تمليذ
(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 لأستفيد منها ؟