PDA

View Full Version : سوال: فرستان مقدار Null به فیلد DateTime



bachebahal_1363
جمعه 29 شهریور 1387, 18:43 عصر
سلام خدمت دوستان
بنده یک فیلد در دیتابیسم دارم از نوع DateTime و زمانی که کاربر اطلاعاتی در فیلد تاریخ پر می کنه من این اطلاعات رو از طریق تعریف یک پراپرتی از نوع DateTime اون رو از طریق SqlCommand.Parameters به دیتابیس می فرستم.
اما زمانی که کاربر اطلاعاتی در فیلد تاریخ برنامه وارد نمی کنه مقدار 01/01/0001 در دیتابیس ذخیره می شه .
من به چه صورت می تونم از این کار جلوگیری کنم و مقدار Null رو به دیتابیس بفرستم؟

Mahdi.Kiani
جمعه 29 شهریور 1387, 20:43 عصر
System.Data.SqlTypes.SqlDateTime.Null

bachebahal_1363
جمعه 29 شهریور 1387, 21:01 عصر
System.Data.SqlTypes.SqlDateTime.Null



سلام اول از اینکه جواب دادن ممنون
من کد شما رو به صورت زیر استفاده کردم اما Error زیر رو می ده.


Person.tarikh= System.Data.SqlTypes.SqlDateTime.Null

Err
or:


Cannot implicitly convert type 'System.Data.SqlTypes.SqlDateTime' to 'System.DateTime'. An explicit conversion exists (are you missing a cast?)

bachebahal_1363
جمعه 29 شهریور 1387, 21:09 عصر
البته مشکل بالا رو به صورت زیر حل کردم اما باز هم مقدار Null رو نمی ده و این دفعه مقدار 1999 به دیتابیس فرستاده شد .

(DateTime)System.Data.SqlTypes.SqlDateTime.Null

Mahdi.Kiani
جمعه 29 شهریور 1387, 22:36 عصر
سلام اخوی
مگه شما نمی خوای مقدار Null به فیلدی در جدول که از نوع Datetime هست بفرستی؟
شما اومدی در کد بالا می خوای مقداری از نوع SqlDateTime را به DateTime نسبت بدی . خوب مسلمه error میگیره..
شما زمانی که از پارامتر های sc استفاده می کنید . می توانید با کد قبلی که دادم مقدار Null بفرستید به جدولتون

bachebahal_1363
جمعه 29 شهریور 1387, 22:45 عصر
سلام اخوی
مگه شما نمی خوای مقدار Null به فیلدی در جدول که از نوع Datetime هست بفرستی؟
شما اومدی در کد بالا می خوای مقداری از نوع SqlDateTime را به DateTime نسبت بدی . خوب مسلمه error میگیره..
لطف کن و بیشتر برای سوال پرسیدنت وقت بذار..

ممنون البته مشکل من به نحو دیگه ای حل شد در زمان فرستان مقادیر به صورت Parametrs اول چک کردم اگر مقدار فیلدم مقدار 01/01/0001 بود هیچ مقداری در دیتابیس ذخیره نشه .
اما نحوه استفاده از کدی که نوشتی رو برام می نویسی ممنون می شم.

Mahdi.Kiani
جمعه 29 شهریور 1387, 22:58 عصر
cmd.Parameters["@Date"].Value=SQLDateTime.Null;



cmd همان شی SqlCommand می باشد.