إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

استفسار بسيط عن كود


14 رد (ردود) على هذا الموضوع

#1 عمر شعيب

عمر شعيب

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 08 January 2016 - 03:01 AM

السلام عليكم ..

قمت بكتابة كود اعارة كتب

update items
set Item_qty = Item_qty -1 where Item_id=:RE_ITEM_ID and  Item_qty > 0;
commit;

ITEMS اسم جدوال الكتب

و Item_qty عدد نسخ الكتاب

و Item_id رقم الكتاب

و RE_ITEM_ID رقم الكتاب من جدول اسمه EMP_REQUEST    

هذا الكود شغال ميه الميه

ولكن مشكلتي عندما اقوم بارجاع الكتاب اكتب نفس الكود مع تغير من -1 الي +1 لا يعمل

كود الاجاع

update items
set Item_qty = Item_qty +1 where Item_id=:RE_ITEM_ID and  Item_qty > 0;
commit;

نتمنى اي حد عنده فكرة على الموضوع يفيدني بارك الله فيكم ...


 


تم التعديل بواسطة ميسم الكرام, 08 January 2016 - 04:50 AM.


#2 eslam elbyaly

eslam elbyaly

    عضو مميز

  • الأعضــاء
  • 3,298 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 08 January 2016 - 02:52 PM

الشرط ده حطه ليه ؟  Item_qty > 0

 

يعني لو الكمية بزيرو مش عايزه يشتغل ؟



#3 عمر شعيب

عمر شعيب

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 08 January 2016 - 09:07 PM

eslam elbyaly
بارك الله فيك على سرعة الاستجابه اولاً

الشرط ده علشان لما بيكون قيمة النسخه
Item_qty > 0
بحيت لما تكون قيمة النسخه اقل من زيرو  ما يعطيني اي كتاب
نتمنى افدتي بالكود الصحيح سوء كان لاعاره او الارجاع



 

#4 eslam elbyaly

eslam elbyaly

    عضو مميز

  • الأعضــاء
  • 3,298 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 08 January 2016 - 09:23 PM

انا قصدى وانت بترجع الكتاب
لو بزيرو حتى المفروض يرجع
اتاكد من القيمة فى الجدول وقارنها بالشرط
اتاكد ان ال commit بيحصل
  • عمرو العرشاني معجب بهذا

#5 عمر شعيب

عمر شعيب

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 08 January 2016 - 10:59 PM

متاكد من القيمة في الجدول لكن نفس الشئ ما يشتغل الكود
وعامل commit;



#6 عمر شعيب

عمر شعيب

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 08 January 2016 - 11:12 PM

يعني الكود هكذا صحيح ؟



#7 eslam elbyaly

eslam elbyaly

    عضو مميز

  • الأعضــاء
  • 3,298 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 08 January 2016 - 11:16 PM

والله لو عندك في الجدول ايتم بالرقم ده والقيمة بتعته مش null  , والقيمة اكبر من زيرو  يبقى تمام



#8 عمر شعيب

عمر شعيب

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 08 January 2016 - 11:50 PM

انا جربت اكثر من مره النتيجه في الاعارة تمام اكون مدخل قيمة في حقل عدد النسخ على سبيل مثال 5

بعد ما اعمل الاعاره اروح افتح جدول الكتب يعطيني 4

انا مشكلتي في الارجاع مش عارف ليش مايرجعش



#9 eslam elbyaly

eslam elbyaly

    عضو مميز

  • الأعضــاء
  • 3,298 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 09 January 2016 - 01:35 AM

طب سيبك من الكود ده يا باشا كده
وسيليكت

Item_qty +1 into variable
where Item_id=:RE_ITEM_ID
and Item_qty > 0;

وحط طبعا الايتم الى بتحاول ترجعه مكان RE_ITEM_ID:
واعمل message للقيمة شوف هيديك ايه



#10 عمر شعيب

عمر شعيب

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 09 January 2016 - 02:42 AM

آسف استاذ الفاضل تعبتك معي
انا عملت نفس ما قلت  لم يحدث شئ مش عارف هل انا اخطأت !

declare
x number  EMP_REQUEST.RE_ITEM_ID%type;
begin

 select Item_qty +1 into x from items
 where Item_id=:RE_ITEM_ID
 and Item_qty > 0;

 end;
 commit;

تم التعديل بواسطة ميسم الكرام, 09 January 2016 - 04:59 AM.


#11 عمر شعيب

عمر شعيب

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 09 January 2016 - 03:14 AM

أستاذي

المشروع الثالث :-

 

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

 

 


 

الشاشة الاولى :-

يتم  ادخال معلومات  الموظفين حيث  يتم ربط  هذة الشاشة مع  جدول employee

Emp_id  رقم الموظف  

Emp_name  اسمالموظف

 

يتم تصميم  الشاشة من نوع tabular   وعدد السجلات 10

 

 

الشاشة الثانية  :-

شاشة انواع  المواد  المخزنة  في المكتبة  يتم  ربط هذة الشاشة  مع جدول items_type

Id   رمز النوع

Describe  وصف النوع

 

يتم  تصميم  هذةالشاشة نوع TABULER   وعدد السجلات  10

 

الشاشة الثالثة :-

 

شاشة  طلب الاستعارة  يتم  فيها ادخال رقم ومعلومات الطلب استعارة اسطوانة او كتاب اوغيرها

تتم من خلال  الموظف  بحيث تكون هذة الشاشة  مفعلة  لوحدها لجميع العاملين

RE_EMP_ID رقم  الموظف  

RE_ITEM_ID   رقم المادة المراد استعارتها

RE_DATE  تاريخ طلب المادةالمراد استعارتها

REQ_STATUS  رمز يوضع لتحديد الطلب

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

طلب الاعارة  يجب

  1. ان يتم تنقيص طرح 1  من عدد النسخ الكمية لهذة المادة من جدول  المواد
  2. ان يتم  ادخال حركة  في ملف الاعارة BORROWING حيث يتم تسجيل  رقم الموظف وادخال رقم متسلسل لحركةالاعارة  وتاريخ الاعارة  وتاريخ  الاعادة  حيث  تاريخ الاعادة يساوي تارخ الاعارة  + عدد ايام الاعارة  وادخال حالة الاعارة  قيمة  صفر انة مازال  معار وقيمة  1 تعني انة  تمت اعادة الكتاب  او المادة  المعارة

 

الشاشة الرابعة

شاشة  لادخال  عناصر المكتبة  سواء كانت كتب  ،  اسطوانات  ليزرية ، دليل  استخدام  برمجيات  وغيرها  من المواد

حيث يتم  ربطها مع جدول itemsوالذي يحتوي على البيانات التالية

Item_id  رقم المادة

Item_name       اسم المادة

Item_qty     الكمية عدد النسخ

Item_type    نوع المادة وهنا نستخدم شاشةلعرض انواع  المواد باستخدام lov's

Item_shelf_no  تحديد رقم  الرف

Item_date_enter    ادخال تاريخ ادخال بيانات  المادة

Item_desc   ادخال وصف  المادة

Item_author اسم المؤلف 

Item_notes   ملاجظات

Item_manuals  اسم   الدليل

No_of_cds   عدد الاسطوانات

Item_copy_orginal   ادخال  قيمة  ان النسخة اصلية  ام نسخة من اصل

 

الشاشة الخامسة

يتم تصميم هذةالشاشة  من نوع tabular وعدد السجلات10

يتم ربط  هذة  الشاشة مع جدول  borrowing    من اجل  عرض بيانات  التي تم ادخالها الى هذا الجدول

 

 

-- Generated for Oracle 7 on 31/12/2015 13:14:05 by Oracle Database Designer v1.00

/* Source Diagram Details:

 

 * Last modified 31/12/2015 10:28:42

 */


CREATE TABLE ITEMS_TYPE
 (ID  NUMBER
 ,DESCRIB  VARCHAR2(40)
 );

CREATE TABLE BORROWING
 (BOR_SER  NUMBER
 ,BOR_START_DATE  DATE
 ,BOR_END_DATE  DATE
 ,BOR_ITEM_ID  NUMBER
 ,BOR_EMP_ID  NUMBER
 ,BOR_STATUS  NUMBER
 ,BOR_LATE_DATE  NUMBER
 );

CREATE TABLE ITEMS
 (ITEM_ID  NUMBER
 ,ITEM_NAME  VARCHAR2(40)
 ,ITEM_QTY  NUMBER
 ,ITEM_TYPE  NUMBER
 ,ITEM_SHELF_NO  NUMBER
 ,ITEM_DATE_ENTER  DATE
 ,ITEM_DESC  VARCHAR2(40)
 ,ITEM_AUTHOR  VARCHAR2(40)
 ,ITEM_NOTES  VARCHAR2(40)
 ,NO_MANUALS  NUMBER
 ,NO_OF_CDS  NUMBER
 ,ITEM_COPY_ORGINAL  VARCHAR2(40)
 );

CREATE TABLE EMP_REQUEST
 (RE_EMP_ID  NUMBER
 ,RE_ITEM_ID  NUMBER
 ,RE_DATE  NUMBER
 );

CREATE TABLE EMPLOYEE
 (EMP_ID  NUMBER
 ,EMP_NAME  VARCHAR2(40)
 );

ALTER TABLE ITEMS_TYPE
 ADD CONSTRAINT ID_PK PRIMARY KEY
  (ID) ;

ALTER TABLE ITEMS
 ADD CONSTRAINT ITEMID_PK PRIMARY KEY
  (ITEM_ID) ;

ALTER TABLE EMP_REQUEST
 ADD CONSTRAINT REQUEST_PK PRIMARY KEY
  (RE_EMP_ID
  ,RE_ITEM_ID
  ,RE_DATE) ;

ALTER TABLE EMPLOYEE
 ADD CONSTRAINT EMPID_PK PRIMARY KEY
  (EMP_ID) ;
    
ALTER TABLE BORROWING
 ADD CONSTRAINT BR_ITEM_FK
 FOREIGN KEY
  (BOR_ITEM_ID)
 REFERENCES ITEMS
  (ITEM_ID)
 ADD CONSTRAINT BR_EMP_ID_FK
 FOREIGN KEY
  (BOR_EMP_ID)
 REFERENCES EMPLOYEE
  (EMP_ID)
;

ALTER TABLE ITEMS
 ADD CONSTRAINT ITEM_TYPE_FK
 FOREIGN KEY
  (ITEM_TYPE)
 REFERENCES ITEMS_TYPE
  (ID)
;

ALTER TABLE EMP_REQUEST
 ADD CONSTRAINT REQ_ITEM_FK
 FOREIGN KEY
  (RE_ITEM_ID)
 REFERENCES ITEMS
  (ITEM_ID)
 ADD CONSTRAINT RE_EMP_ID_FK
 FOREIGN KEY
  (RE_EMP_ID)
 REFERENCES EMPLOYEE
  (EMP_ID)
;

eslam elbyaly

هذا المشروع المطلوب مني

انا عملت كل الشاشات كيف ما مطلوب مني انا مشكلتي في شاشه الثالثة يبدُ ما فهمت ايه المطلوب مني بتحديد

ولكن كما اخبرتك بان عملت كود الاعارة وشتغل معي تمام ولكن الارجاع ماشتغل نهائيا

نتمى القاء نظره على ملف المشروع وتوضيح ما مطلوب بتفصيل دقيق


 


تم التعديل بواسطة ميسم الكرام, 09 January 2016 - 04:59 AM.


#12 eslam elbyaly

eslam elbyaly

    عضو مميز

  • الأعضــاء
  • 3,298 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 09 January 2016 - 02:43 PM

استنى بس يا عم عمر

انا مقلتش كده , انا بقلك اعمل message للقيمة

 

كده

 

declare
x number  EMP_REQUEST
.RE_ITEM_ID%type;
begin

 select Item_qty +1 into x from items
 
where Item_id=:RE_ITEM_ID
 
and Item_qty > 0;
message(x) ;

message(x) ;
 end;



#13 عمر شعيب

عمر شعيب

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 09 January 2016 - 03:17 PM

نسخت الكود استاذي اصبح الكود يكرر في  قيمة الاعاره وكاني اقوم باعاره مرتين لنفس النسخه زي ما موجود في الاسفل ↓
SQL> SELECT * FROM EMP_REQUEST ;

RE_ITEM_ID RE_DATE   RE_EMP_ID
---------- --------- ---------
        10 01-JAN-16         2
        10 05-JAN-16         2


#14 عمر شعيب

عمر شعيب

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 09 January 2016 - 04:46 PM

بارك الله فيك استاذي الفاضل اشتغل الكود اخيراُ

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


UPDATE ITEMS
SET Item_qty = Item_qty +1 where Item_id=:RE_ITEM_ID and  Item_qty > 0;


COMMIT;


تم التعديل بواسطة عمر شعيب, 09 January 2016 - 04:47 PM.


#15 emadez

emadez

    عضو

  • الأعضــاء
  • 24 مشاركة

تاريخ المشاركة 31 January 2016 - 03:28 PM

تعتبر ادارة الموارد البشرية من اهم واحدث الادارات كما انها توفر التدريبات والمهارات اللازمة للالمام بادارة الموارد البشرية وكيفية التعامل معها

 


كورسات تنمية بشرية فى مصر

كورسات موارد بشرية فى مصر

كورسات محاسبة فى القاهرة

كورسات توحد وتخاطب فى مصر

دبلومة التنمية البشرية فى القاهرة

دورات تنمية بشرية فى القاهرة

دورات اداراة الاعمال فى القاهرة

كورسات المحاسبة فى القاهرة

افضل مركز للتنمية البشرية فى القاهرة

استشارات زوجية