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

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

صورة
- - - - -

فكرة جديدة لحل مشكلة التاريخ الهجري


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

#16 محمد علي الحيلان

محمد علي الحيلان

    مشترك

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

تاريخ المشاركة 07 January 2007 - 02:47 PM

انظر يأخي للخطاء الغريب فعلا

SQL> select date_converter(to_date('02-01-2007','dd-mm-yyyy')) from dual;
select date_converter(to_date('02-01-2007','dd-mm-yyyy')) from dual
*
يوجد خطاء عند السطر 1

يجب ان تتراوح اعداد السنه ( الكاملة ) بين – 4713 و+ 9999 وليس 0
1841 - ORA
لااله الا الله محمد رسول الله

#17 Amateur

Amateur

    مشترك

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

تاريخ المشاركة 07 January 2007 - 04:18 PM

تم إيجادالأخطاء التالية
لم تتمكن من تحميل الملف وذلك بسبب كبر حجمه أو بسبب عدم صلاحية هذه النوعيات من الملفات. الرجاء التأكد من ججم الملف ونوعه ثم إعادة المحاولة.



أنا أحاول أنني أنزل لك مرفق في الفورم ونشوف بالضبط الخطأ لاني بصراحة جلست ألعب بالـ function والجدول لاجل يطلع error مثل كذا ماهي راضيه تطلع..!! :)

هل من الممكن تسويلي print screen من شاشة الـ sql تستعرض لي فيها بيانات الجدول والاستعلام.. ممكن فيه حاجة بالجدول..
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلي العظيم

أستغفر الله.. أستغفر الله.. أستغفر الله

سبحان الله وبحمده.. سبحان الله العظيم


من مواضيعي:
حل جذري لمشكلة التحويل من الميلادي الى الهجري حسب التقويم

#18 محمد علي الحيلان

محمد علي الحيلان

    مشترك

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

تاريخ المشاركة 07 January 2007 - 07:10 PM

اخي Amateur
السلام عليكم ورحمة الله وبركاتة :-
لقد ازعجتك ولكن مثلك من يتحمل - اللهم اغفر ذنوب اخي
SQL*Plus: Release 9.0.1.0.1 - Production on ÇáÃÍÏ Ðæ ÇáÍÌÉ 17 08:01:15 1427

© Copyright 2001 Oracle Corporation. All rights reserved.


ãÊÕá È:
Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production
With the Partitioning option
JServer Release 9.0.1.1.1 - Production

SQL> desc GDATE_TO_HDATE ;
ÇáÇÓã ÎÇáí¿ ÇáäæÚ
----------------------------------------- -------- -------------------------
G_MONTH NUMBER(2)
G_YEAR NUMBER(4)
GREG DATE
H_DAY NUMBER(2)
H_MONTH NUMBER(2)
H_YEAR NUMBER(4)
HIJRA DATE
N_DAY NUMBER(2)

SQL> select * from GDATE_TO_HDATE ;

G_MONTH G_YEAR GREG H_DAY H_MONTH H_YEAR HIJRA
---------- ---------- ---------- ---------- ---------- ---------- ----------
N_DAY
----------
1 2007 11/12/1427 11 12 1427 21/02/0831
29

لااله الا الله محمد رسول الله

#19 Amateur

Amateur

    مشترك

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

تاريخ المشاركة 08 January 2007 - 11:35 AM

أخي محمد أنا وراك وراك إلى أن نحل المشكلة لانه مو معقول تشتغل عندي ولا تشتغل عندك والسبب غير مقنع أبدا..


FUNCTION DATE_CONVERTER_TEST (GREG_DATE DATE)RETURN DATE IS
GDATE DATE;
H_D NUMBER;
H_M NUMBER;
H_Y NUMBER;
HDATE DATE;
N_D NUMBER;
BEGIN
 SELECT GREG, HIJRA
 INTO GDATE, HDATE
 FROM GDATE_TO_HDATE
 WHERE G_YEAR = TO_CHAR(GREG_DATE,'YYYY')
 AND G_MONTH = TO_CHAR(GREG_DATE,'MM');
  IF GREG_DATE = GDATE THEN
   RETURN HDATE;
  ELSE IF GREG_DATE > GDATE THEN
  BEGIN
   SELECT H_DAY, H_MONTH, H_YEAR, HIJRA, N_DAY
   INTO H_D, H_M, H_Y, HDATE, N_D
   FROM GDATE_TO_HDATE
   WHERE G_YEAR = TO_CHAR(GREG_DATE,'YYYY')
   AND G_MONTH = TO_CHAR(GREG_DATE,'MM');
   IF N_D = 29 THEN
   BEGIN
	IF TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D > N_D AND (TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D) >= 31 THEN
	 RETURN ((TO_NUMBER(TO_CHAR(GREG_DATE,'DD') + H_D) - N_D)-1 || '-' || (H_M+1) || '-' || H_Y);
	ELSE IF TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D > N_D AND (TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D) <= 30 THEN
	  RETURN (((TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D)-1) || '-' || (H_M) || '-' || H_Y);
	ELSE IF TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D < N_D THEN
	 RETURN (TO_NUMBER(TO_CHAR(GREG_DATE,'DD') + H_D) -1|| '-' || H_M || '-' || H_Y);
	ELSE IF TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D >= N_D THEN
	 RETURN (((TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D)-1) || '-' || H_M || '-' || H_Y);
	END IF;
	END IF;
	END IF;
	END IF;
   END;
   ELSE IF N_D = 30 THEN
   BEGIN
	IF TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D < N_D THEN
		RETURN (TO_NUMBER(TO_CHAR(GREG_DATE,'DD') + H_D) - 1 || '-' || H_M || '-' || H_Y);
	ELSE IF TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D > N_D AND (TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D) - N_D != 1 THEN
		RETURN ((TO_NUMBER(TO_CHAR(GREG_DATE,'DD') + H_D) - N_D)-1 || '-' || (H_M+1) || '-' || H_Y);
	 ELSE IF TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D > N_D AND (TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D) - N_D = 1 THEN
		RETURN ((TO_NUMBER(TO_CHAR(GREG_DATE,'DD') + H_D) - 1) || '-' || (H_M) || '-' || H_Y);
	ELSE IF TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D = N_D THEN
		RETURN ( ((TO_NUMBER(TO_CHAR(GREG_DATE,'DD')) + H_D) -1) || '-' || (H_M) || '-' || H_Y);
	END IF;
	END IF;
	END IF;
	END IF;
   END;
   END IF;
  END IF;
  END;
  END IF;
  END IF;
 EXCEPTION
  WHEN OTHERS THEN
  RETURN NULL;
END;
/


شوف هذي النسخة طلعتها من قاعدة البيانات علما انني متاكد انها نفس السابقة والدليل انك انشأتها من دون أي أخطاء في الانشاء لكن زيادة إحتياط .. للعمل أنا فقط قمت بتغيير اسمها الى DATE_CONVERTER_TEST كماترى فقط أي عند الاستعلام فقط تستخدم


select date_converter_test(to_date('05-01-2007','dd-mm-yyyy')) from dual;


بس أثناء فتحك للـ SQ أكتب الأمر التالي spool c:\sql.txt بعد ذلك انسخ الـ function والصقها في الـ sql بعد ذلك استعرض الجدول ونفذ الكود السابق وفي الأخير اكتب spool off; سيظهر لك الملف ارسله لي على الايميل حلو..

الله يعينك علي بنسب لك لحد مايشتغل..
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلي العظيم

أستغفر الله.. أستغفر الله.. أستغفر الله

سبحان الله وبحمده.. سبحان الله العظيم


من مواضيعي:
حل جذري لمشكلة التحويل من الميلادي الى الهجري حسب التقويم

#20 محمد علي الحيلان

محمد علي الحيلان

    مشترك

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

تاريخ المشاركة 08 January 2007 - 01:36 PM

اخي وعزيزي Amateu
السلام عليكم ورحمة الله وبركاتة :-
ابشرك اشتغل الكود 100% وكانت النتيجة 1427/12/15
وجربته ايضا على الفرم وكانت النتيجة مذهله فعلا
ومهما وضعت من الكلمات المديح فهي قليلة في حقك بصراحه
واسال الله ان يسدد خطاك ياخي واي خدمة انا مستعد00
وعلاوه على ذلك سوف بأذن الله اقدم لك هدية باسمك في هذا المنتدى
عبارة عن مشاركة وهي طريقة البحث بطريقة متقدمة وهي البحث باكثر من متغير مجتمعة او كل واحد على حده
على حسب رغبة المستخدم مثلا الاسم + الجنسية + رقم الهوية + العمر 0000 الخ مهما كان عددها
وسوف ابداء ان شاء الله في اعدادها
ولك تحياتي وتقديري ،،،،
انتظر المشاركة000؟
لااله الا الله محمد رسول الله

#21 Amateur

Amateur

    مشترك

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

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

اخي وعزيزي Amateu
السلام عليكم ورحمة الله وبركاتة :-
ابشرك اشتغل الكود 100% وكانت النتيجة 1427/12/15
وجربته ايضا على الفرم وكانت النتيجة مذهله فعلا
ومهما وضعت من الكلمات المديح فهي قليلة في حقك بصراحه
واسال الله ان يسدد خطاك ياخي واي خدمة انا مستعد00
وعلاوه على ذلك سوف بأذن الله اقدم لك هدية باسمك في هذا المنتدى
عبارة عن مشاركة وهي طريقة البحث بطريقة متقدمة وهي البحث باكثر من متغير مجتمعة او كل واحد على حده
على حسب رغبة المستخدم مثلا الاسم + الجنسية + رقم الهوية + العمر 0000 الخ مهما كان عددها
وسوف ابداء انشاء الله في اعدادها
ولك تحياتي وتقديري ،،،،
انتظر المشاركة000؟


الله يجزاك بالخير ولا يهمك احنا حاضرين وباي وقت والله ويشهد اني انبسطت بس يوم قلت انه اشتغل معاك وهذا هو المهم اما بالنسبة للمشاركة اتمنى ان تكون باسمك لانه عملك فعلا وتشكر على كل مجهود تقوم به.. :)
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلي العظيم

أستغفر الله.. أستغفر الله.. أستغفر الله

سبحان الله وبحمده.. سبحان الله العظيم


من مواضيعي:
حل جذري لمشكلة التحويل من الميلادي الى الهجري حسب التقويم

#22 wlahmad

wlahmad

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 252 مشاركة

تاريخ المشاركة 10 February 2007 - 10:53 PM

جزاك المنان خير الجنان

#23 Amateur

Amateur

    مشترك

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

تاريخ المشاركة 13 February 2007 - 04:07 PM

شكرا للمرور يااخ wlahmad
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلي العظيم

أستغفر الله.. أستغفر الله.. أستغفر الله

سبحان الله وبحمده.. سبحان الله العظيم


من مواضيعي:
حل جذري لمشكلة التحويل من الميلادي الى الهجري حسب التقويم

#24 amino1

amino1

    عضو نشط

  • الأعضــاء
  • 272 مشاركة
  • الاسم الأول:أمين
  • اسم العائلة:صلاح الدين
  • البـلـد: Country Flag
  • المنصب الحالي:المدير التقني لمؤسسة البوابة المتقدمة

تاريخ المشاركة 28 April 2007 - 01:23 PM

فكرة رائعة جزاك الله خير
وممكن الحصول على التاريخ الميلادي و المقابل له بالهجري
من اى جهة تتعامل مع التقويم :huh:

اللهم علمنا ما ينفعنا و أنفعنا بما علمتنا

أبو نسيبة

سبحان الله والحمد لله ولا إله إلا الله و الله أكبر
موقع إذاعة طريق الإسلام


#25 سماسيم

سماسيم

    عضو

  • الأعضــاء
  • 32 مشاركة
  • الاسم الأول:Sami
  • اسم العائلة:Alfattani
  • البـلـد: Country Flag
  • الاهتمامات:programming , swimming
  • المنصب الحالي:Oracle Developer

تاريخ المشاركة 12 May 2007 - 11:38 PM

شكرا جزيلا

#26 منير فائد سيف

منير فائد سيف

    مشترك

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

تاريخ المشاركة 23 June 2009 - 05:55 PM

شكرا أخي Amateu على هذا الرد المتوضع وجزاك الله خيرا

#27 user1396

user1396

    عضو

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

تاريخ المشاركة 20 October 2009 - 01:11 AM

اخواني ما المشكلة هذه
صورة

لماذا لا تعمل الفنكشن معي
عند ازالة CREATE OR REPLACE من الجملة
CREATE OR REPLACE FUNCTION date_converter (greg_date DATE)
RETURN DATE
IS
يتم الكومبايل للفنكشن ولكن لا تعمل بشكل صحيح تعيد فقط التواريخ المخزنة في الجدول فقط .
اعمل على ديقلوبر 6i
أتمنى من الذين عملت معهم المساعدة

#28 King Oracle

King Oracle

    مشرف قسم المشاريع

  • فريق الإشراف
  • 2,043 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 20 October 2009 - 08:45 AM

اخي العزيز أخي Amateu بصراحة موضوعك اعجبني كثيرا وسأقوم بتطبيقه ولي عودة باذن الله .

[سبحان الله وبحمده ... سبحان الله العظيم]


م.علاء الدين الجبالي
Oracle APPS HCM Techno Functional Consultant


مدونتي الخاصة ... ( للتواصل معكم )
http://aljabali2010.blogspot.com/

التواصل عبر السكايبي

araboug.org
or
aladdin_aljabali

للتواصل عبر الايميل ( الماسنجر )

aladdin2011@live.com

موبايل 1: 00966540873048 ( حاليا في السعودية)
موبايل 2: 00962798522832


اللهم لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم


#29 King Oracle

King Oracle

    مشرف قسم المشاريع

  • فريق الإشراف
  • 2,043 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 20 October 2009 - 08:45 AM

اخي العزيز أخي Amateu بصراحة موضوعك اعجبني كثيرا وسأقوم بتطبيقه ولي عودة باذن الله

بارك الله بك

[سبحان الله وبحمده ... سبحان الله العظيم]


م.علاء الدين الجبالي
Oracle APPS HCM Techno Functional Consultant


مدونتي الخاصة ... ( للتواصل معكم )
http://aljabali2010.blogspot.com/

التواصل عبر السكايبي

araboug.org
or
aladdin_aljabali

للتواصل عبر الايميل ( الماسنجر )

aladdin2011@live.com

موبايل 1: 00966540873048 ( حاليا في السعودية)
موبايل 2: 00962798522832


اللهم لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم


#30 King Oracle

King Oracle

    مشرف قسم المشاريع

  • فريق الإشراف
  • 2,043 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 20 October 2009 - 09:51 AM

100% احسنت اخي الغالي ولكن يجب الانتباه الى ادخال البيانات على الجدول ....

[سبحان الله وبحمده ... سبحان الله العظيم]


م.علاء الدين الجبالي
Oracle APPS HCM Techno Functional Consultant


مدونتي الخاصة ... ( للتواصل معكم )
http://aljabali2010.blogspot.com/

التواصل عبر السكايبي

araboug.org
or
aladdin_aljabali

للتواصل عبر الايميل ( الماسنجر )

aladdin2011@live.com

موبايل 1: 00966540873048 ( حاليا في السعودية)
موبايل 2: 00962798522832


اللهم لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم