الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

مساعدة فى كود

Featured Replies

بتاريخ:

انا عملت برنامج لحضور وانصراف الموظفين
وكتبت كود علشان الموظف مايسجلش دخول غير مرة واحدة فى اليوم

declare 
cursor s is
select employee_id
from attendance where transaction_id='A' and times like sysdate;
a number(20);
n number(10);
b date;

begin open s;
loop
fetch s into a; if a=:employee.employee_id  then
n:=show_alert('wrong');
goto end_p;
else
insert into attendance values
(:employee.employee_id,:employee.time_att,'A',sysdate);

commit;

end if;
end loop;
<<end_p>>
close s;
end;


الكود دة مرة يشتغل ومرة لأ
ومرة يطلع التحذير اللى انا عملتة بس يعمل يعمل ادخال برضة
ممكن مساعدة

بتاريخ:

السلام عليكم
أخي الكريم
ماالمقصود transaction_id='A' هل هذا الكيرسر هيطلع موظف واحد أم ماذا
ياريت تشرح لي أين وضعت الكيرسور بالضبط هل مثلا بعد ادخال رقم الموظف وبعد كده في زر مثلا
مزيد من التوضيح وجزاك الله خيرا

بتاريخ:
  • كاتب الموضوع

transaction_id='A'
معناها حركة الحضور
وانا حطيت الكود كلة فى زرار
الحضور

بتاريخ:

السلام عليكم
برضه مشرحتش لي لذا ربما تكون الاجابة لاتفي بالغرض لو كان كده فعلا اوصف أكثر موضوعك
أنا هفترض انك مثلا بتتدخل رقم الموظف وبعد كده لو كان مسجل هيرفض ولا مش مسجل هيدخل وينفذ جملة ال insert

declare
x   number;
n number;
begin select count(*) into x from attendance where transaction_id='A' and times like sysdate and employee_id=:employee.employee_id;
if x>0 then 
n:=show_alert('wrong');
elsif x=0 then
insert into attendance values
(:employee.employee_id,:employee.time_att,'A',sysdate);
commit;
end if;
end;



شكرا لك

بتاريخ:
  • كاتب الموضوع

الكود اللى انت كتبتة هايفى بالغرض
وفكرتة كويسة جدا وانا متشكر جدا لمساعدتك بس ممكن اعرف اية الغلط فى الكود بتاعى

بتاريخ:

السلام عليكم
شوف يأخي الكريم
طالما أن المرتجع صف واحد لاتستخدم الكيرسور غير مفضل الكيرسور في أوقات معينة لذا طالما ان المرتجع صف واحد استخدم جملة ال select هذا اولا
2- استخدام جملة goto دي برضه لابد وأن تكون متفهم لوضعها لان لها أوضاع كثيرة تسبب خطأ وخصوصا داخل جملة if حاول تتجنبها بقدر المستطاع
3- جملة السيليكت لماذا لاتحدد لها رقم الموظف لانك كده هتجيب كل الموظفين في الجدول الحضور لهذا اليوم
4-كودك هيشتغل فقط لو كان الموظف سجل لهذا اليوم غير كده مش هيسجل لغياب دالة ال count لو استخدمتها هتحل معاك الموضوع كله
بالتوفيق

بتاريخ:
  • كاتب الموضوع

انا متشكر جدا ليك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.