PDA

View Full Version : مشکل در درج کردن زمان فعلی در دیتابیس



heartshunter
یک شنبه 17 شهریور 1387, 16:53 عصر
من تویه یه تیبل یه فیلد دارم از نوع datetime به نام intime
وقتی از طریق سی شارپ میخوام زمان جاری رو با استفاده از DateTime.Now; به فیلد intime در دیتابیس انتقال بدهم هنگام اجرا این خطا رو میده
در ضمن من از storeProcedure برای درج(insert) در تیل استفاده می کنم و 'insertintime' نام پروسیجر من هست


Procedure or Function 'insertintime' expects parameter '@intime', which was not supplied.


لطفا راهنمایی کنید

mohammad272005
یک شنبه 17 شهریور 1387, 17:08 عصر
دقت کنید ببینید آیا پارامتر @intime هنگام فراخوانی رو مقدار دادید یا نه

heartshunter
یک شنبه 17 شهریور 1387, 17:21 عصر
بله خدمتتون عرض کردم با Datetime.Now مقداردهی کردم

noroozifar
یک شنبه 17 شهریور 1387, 17:36 عصر
سلام
تجربه نشان داده بهتره که اصلا از فیلد نوع تاریخ استفاده نکنید چون بعدا دوچار مشکل میشید بهتر ان را از نوع text تعریف کنید و با دستور زیر مقدار دهید
فرض کن اسم فیلد date و بعد از دستور sql که @date قرار دادی بنویس datetime.now.tostring()

sahmah65
یک شنبه 17 شهریور 1387, 17:49 عصر
سلام
تجربه نشان داده بهتره که اصلا از فیلد نوع تاریخ استفاده نکنید چون بعدا دوچار مشکل میشید بهتر ان را از نوع text تعریف کنید و با دستور زیر مقدار دهید
فرض کن اسم فیلد date و بعد از دستور sql که @date قرار دادی بنویس datetime.now.tostring()
به هیچ وجه همچین کاری توصیه نشده چون در این صورت شما برای کار با تاریخ کار سختی در
پیش دارید مگر اینکه قصد نداشته بشید روی تاریخ پردازش انجام بدید راهکار توصیه شده گرفتن تاریخ به صورت شمسی و ذخیره به صوت میلادی است .

heartshunter
یک شنبه 17 شهریور 1387, 17:53 عصر
مشکل اینه که من میخوام بعدا با این فیلد اعمال ریاضی جمع و تفریق رو انجام بدم و وقتی این مقدار استرینگ باشه نمیتونم این کارو انجام بدم

subsub
یک شنبه 17 شهریور 1387, 18:21 عصر
مشکل اینه که من میخوام بعدا با این فیلد اعمال ریاضی جمع و تفریق رو انجام بدم و وقتی این مقدار استرینگ باشه نمیتونم این کارو انجام بدم

دوست عزیز فکر کنم مشکل از storeProcedure باشه.
من در پروژه قبلی که با بانک اطلاعاتی Access کار می‌کرد، در زمان ذخیره زمان در بانک اطلاعاتی با مشکل مواجه می‌شدم. وقتی تاریخ رو در بین دو # قرار دادم مشکل حل شد. شاید مشکل شما هم به خاطر همین # باشه.

اما اگه بازهم مشکلتون حل نشد و خواستید تاریخ رو در بانک اطلاعاتی به صورت رشته ذخیره‌ای کنید، می‌تونید برای اضافه کردن سال، روز، ماه، ساعت، دقیقه و ثانیه به تاریخ خونده شده از بانک اطلاعاتی، ابتدا اون تاریخ رشته‌ای خونده شده از بانک اطلاعاتی رو با متد ToDateTime از کلاس Convert به نوع DateTime تبدیل کنید و سپس عملیات مورد نظر رو انجام بدید.