• 0
naif224

التاريخ الهجري 30/2/1426

سؤال

المشكلة يا شباب اني عملت نظام : اسمه متابعة العمال

وضعت فيه حقل للتاريخ ونوعه في الداتا بيز هو : date وليس varchar2

طبق النظام وادخلوا بيانات كثيره في النظام ولكن لما ادخلوا تاريخ 30/2/1426

وقعت المشكلة ، فما هو الحل ؟

قرات في المنتدى ان بعضهم يرشح تحويل حقل التاريخ من data إلى varchar2

ولكن الاحظ ان البيانات ادخلت في النظام بشكل كبير ، وأيضا عملت فورم تبحث بواسطة التاريخ

فإذا غيرت من date الى varchar2 أتوقع أنها مشكلة كبيرة !!!1

فما هو الحل أرجوكم ؟

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

[email protected]

الله أجزه خيرا من اعانني على حل مشكلتي ومد يد العون لي في حلها ، اللهم آمين

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

7 إجابة على هذا السؤال .

  • 0

أخ naif224

الحل وبكل سهولة طبق التالي:

1- غير التاريخ الى الهجري بالكود التالي في SQL Plus

alter session set
NLS_calendar="arabic hijrah";

2- غير شكل التاريخ الي الشكل DD/MM/YYYY بالكود التالي:

alter session set
NLS_DATE_FORMAT='DD/MM/YYYY';

لقد احتلت المشكلة ويمكنك الآن إدخال التاريخ الهجري 30/2/1426 بكل سهولة

وهذه الصورة للتوضيح

date016fa.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ولكن لما اخرج من الداتابيز وأددخل من جديد يلغي التغيير بالنسبة للـ NLS_calendar="arabic hijrah

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخي جرب مايلي , شغل الريجستري من Start -> Run - Regedit

انتقل الى HKEY_LOCAL_MACHINE ثم SOFTWARE ثم ORACLE

وهنا قم بإلانتقال الى الجهه الى بها المفاتيح

وقم بإنشاء مفتاح تسلسلي جديد (الاول)

اسمه NLS_CALENDAR

القيمه Arabic Hijrah

وقم بإنشاء مفتاح تسلسلي جديد(الثاني)

اسمه NLS_DATE_FORMAT

القيمه DD/MM/YYYY

وجرب تعمل

SELECT SYSDATE FROM DUAL;

وان شاء الله سيثبت معاك التاريخ الهجري على طول .

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ولكن يا أخي الكريم dbprog

طبقت ما قلت انت بالحرف الواحد ، واشتغل معاي أوكيه عندما ذهبت الى الSQL وكتبت التالي : SELECT SYSDATE FROM DUAL;

ولكن أنا عامل فورم فيها حقل من نوع date فلما أدخلت 29/02/1426 لم يقبلها مع أني عملت الي أنت قلته لي .

أرجو المتابعة ...............

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي العزيز ما هي المشكلة بالضبط هل هو يحو التاريخ الى تاريخ 1/3/1426 بدلاً من تاريخ 30/2/1426

إذاكان الجواب نعم فالحل بأذن الله هو ان تذهب الى ملف الاعدادات الإقليمية في لوحة التحكم

وتعدل التاريخ مثل ما هو موضح بالصورة ارجو الرد لكي يتم البحث لك عن حل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

معذرة نسيت الصورة

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

ارجو موافاتي ما يحصل معك

انقر هنا لتظر الصور ه كاملة

انقر لتظهر الصورة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخ naif224

حل dbprog هو الصحيح ومجرب

فالتثبيت يتم عن طريق الرجستري كما يلي

1- شغل الرجستري start ثم Run ثم أكتب regedit

2-انتقل الى HKEY_LOCAL_MACHINE ثم SOFTWARE ثم ORACLE

قم بإلانتقال الى الجهه الى بها المفاتيح وإنقر بالزر الأيمن وإختار string value

3- وقم بإنشاء مفتاحين string value

الأول إجع إسمه NLS_calendar ثم إضغط عليه دبل كليك وإكتب في المستطيل الثاني العبارة arabic hijrah

الثاني إجعل إسمه NLS_DATE_FORMAT ثم إضغط عليه دبل كليك وأكتب في المستطيل الثاني العبارة DD/MM/YYYY

4- أنتهى.

بالتوفيق إن شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .