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

ادخال التاريخ الهجري لقاعدة البيانات

مغلق
بدأه jamal في 12 يونيو 2007 · 4 رد · 1,584 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

تواجهني مشكلة عند ادخال التاريخ الهجري الى قاعدة البيانات sql و تظهر رسالة الخطاء هذه

Valid values are between 1 and 9666, inclusive.

Parameter name: year

أستعمل stored procedure لادخال التاريخ الى قاعدة البيانات

كما ان اعدادات الجهاز بالنسبة للتاريخ هي التقويم الهجري و التنسيق هو yyyy/MM/dd كما أني حاولت التعديل على التنسيق و لكن دون فائدة.

و بالمناسبة عندما يتم تعديل التقويم في الجهاز فان المشكلة تختفي.

حاولت البحث في المنتدى لمدة شهر و لكن دون جدوى.

هذا هو الكود الذي استخدمه لادخال التاريخ

Dim dateparam As SqlParameter
		dateparam = New SqlParameter("@contractdate", SqlDbType.DateTime)
		dateparam.Direction = ParameterDirection.Input
		dateparam.Value = CType(contractdate.Text, Date)
		'dateparam.Value = CType(contractdate.Text, Date)
		myCmd.Parameters.Add(dateparam)

هل من اقتراح لحل هذه المشكلة؟

#3

بحكم عملي بمشاريع كثيره تخص الهجري

اقترح عليك تخزين التاريخ بالميلادي

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

بتحصل فائدة اكبر بكثير من الشيء اللي بتتعب فيه لو خزنتها هجري

لو اضطررت للتخزين بالهجري

خزنها كـ char

رســالـة من يتيــم

AytamResalhGIFmesg.gif

http://www.aytam.org.sa/message_aytam.php

----

أتمنى لك التوفيق اخي cold0zero في موقعك

logo.gif
#4

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

العسيري

#5

شكرا للجميع على المساعدة. فعلا نجحت الطريقة و لله الحمد. و اليكم التعديل

Dim dateparam As SqlParameter
		dateparam = New SqlParameter("@contractdate", SqlDbType.VarChar)
		dateparam.Direction = ParameterDirection.Input
		dateparam.Value = CStr(contractdate.Text)
		'dateparam.Value = CType(contractdate.Text, Date)
		myCmd.Parameters.Add(dateparam)

PROCEDURE dbo.newcontract
	(@contractid int ,@contractdate varchar(30),@ownerid int,@customerid int,@itemid int,@unitid int,@startdate varchar(30),@enddate varchar(30),
@price decimal,@noofsetel int,@payedamount decimal,@remaining decimal,@valid int,@anualcomm decimal,@cond varchar(200),@usage varchar(50))

AS
	insert into contracts (contractdate)
	values(@contractid,(convert(datetime,@contractdate,131)))

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…