الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

مغلق
بدأه naif224 في 18 ديسمبر 2005 · 7 رد · 1,045 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

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

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

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

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

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

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

aanf1@hotmail.com

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

#2

أخ 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

#3

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

#4

السلام عليكم

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

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

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

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

اسمه NLS_CALENDAR

القيمه Arabic Hijrah

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

اسمه NLS_DATE_FORMAT

القيمه DD/MM/YYYY

وجرب تعمل

SELECT SYSDATE FROM DUAL;

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

تحياتي

من مواضيعي

برنامج للكفالات والأقساط

برنامج لإدارة مؤسسة نقل الطالبات

بـــــرنامج الصراف الآلي

_______________________

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

#5

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

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

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

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

#6

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

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

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

158.gif

هناك فرق بين أن تكبر بالعمر

، و أن تكبر بالعقل
فالأولى ، إجباري
، والثانية اختياري .."
 
 

164684_514411088579476_442405016_n.jpg

#7

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

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

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

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

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

158.gif

هناك فرق بين أن تكبر بالعمر

، و أن تكبر بالعقل
فالأولى ، إجباري
، والثانية اختياري .."
 
 

164684_514411088579476_442405016_n.jpg

#8

أخ 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- أنتهى.

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

هذا الموضوع مغلق.

مواضيع مشابهة