السلام عليكم ورحمة الله وبركاته
لديا قاعدة بيانات firebird بها حقل من نوع date .
المشكلة عندما اترك الحقل فارغ تم اقوم بعملية إضافة اجد به هدا التاريخ : 30/12/1899
كيف اجعل الحقل فارغ ؟
وعليكم السلام ورحمة الله وبركاته
الأصل أن تفريغ أي الحقل بجعله يحمل قيمة Null إن كان يقبل ذلك
كود :
FieldName.Value := Null;
أما التاريخ فله معاملة خاصة...
قد تختلف طريقة عرضه من مكون لآخر...
إذ النمط TDate/TDateTime ما هو إلا عدد Double له قيمة ابتدائية
قد تختلف حسب سعة الحقل في قاعدة البيانات (في مثالك 30/12/1899)
حدد المكونات التي تتعامل معها (TDataSet، TDBDateTime...)
بارك الله فيك اخي kachwahed على التوضيح .
حولت جعل الحقل فارغ بدل التاريخ 30/12/1899 لكن دون جدوا
لم اتوصل الى الشيئ الذي تريدوني ان اصل إليه .
لم تحل المشكلة
بالتوفيق للجميع
إقتباس :حولت جعل الحقل فارغ بدل التاريخ 30/12/1899 لكن دون جدوا
أخبرتك أنه عدد Double يبدأ من 0 التي تمثل التاريخ 30/12/1899 في مثالك
أيضا لم تحدد المكونات التي تتعامل بها (TDataSet، TDBDateTime...)
بعض المكونات تملك خصائص إضافية للقيمة الابتدائية.
شكرا على التواصل
إقتباس :أيضا لم تحدد المكونات التي تتعامل بها (TDataSet، TDBDateTime...)
استعمل TUniTable و TUniDataSource و TsDBGrid
ولي ادخال التاريخ استعمل مكون sDateEdit1
الله ينورك
بالتوفيق للجميع
السلام عليكم
جربت للتو بالـ Unidac إشتغلت عادي !
لا أدري ما المشكل عندك :confused:
إذا لم تستطع تحديد المشكل إرفع محاولة !
بالتوفيق
بارك الله فيك اخي عبد الجليل على المجهود الجبار (الحمد الله لقد جاء الفرج)
اخي المشكلة هي :
عندما اترك sDateEdit1 فارغ واقوم باضافة سجل الى قاعدة البيانات اجد بالحقل التاريخ هذا التاريخ :30/12/1899
مع المفروض ان يبقى الحقل فارغ لاني لم اذخل شيئ
كود الادخال هو :
PHP كود :
TV.Insert;
TVTV_REMDATEDEBUT.AsDateTime:=sDateEdit1.Date;
TVTV_REMDATEFIN.AsDateTime:=sDateEdit2.Date;
TV.Post
بالتوفيق
أهلا اخي عبد المالك
لا أعرف
sDateEdit هذه !
إقتباس : مع المفروض ان يبقى الحقل فارغ لاني لم اذخل شيئ
لا أعتقد ، بالكود المكتوب 100% أدخلت قيمة ينبغي وضع شرط للتأكد ( ربما
sDateEdit تحول القيمة الفارغة إلى 0 و بالتالي 30/12/1899 )
مثال بإستخدام DateTimePicker
كود :
if DateTimePicker1.date>strtodate('01/01/1970') then
UniTable2.FieldByName('hire_date').AsDateTime:=DateTimePicker1.Date;
بالتوفيق
بارك الله فيك و في والديك الله ينورك ويزدك علما اخي عبد الجليل
حلت المشكلة :
بوضع فحص قبل الادخال :
PHP كود :
if sDateEdit1.text<>' / / 'then
TVTV_REMDATEDEBUT.AsDateTime:=sDateEdit1.Date;
if sDateEdit2.text<>' / / 'then
TVTV_REMDATEFIN.AsDateTime:=sDateEdit2.Date;
sDateEdit : هو مكون من مكونات AlphaSkin
بالتوفيق للجميع