PDA

View Full Version : مشکل با ارسال نوع datetime



sajjadrad
دوشنبه 22 فروردین 1390, 15:03 عصر
سلام
من میخوام تاریخ امروز رو بصورت Datetime به بانک بفرستم تا بتونم در موقع کوئری تاریخ ها رو مقایسه کنم.
مشکلم سر دستور insert هستش...وقتی که Datetime.now رو میفرستم خطا syntax میده.

احتمالا مشکل از ق.ظ و ب.ظ که آخر تاریخ میخوره...
چون مثلا وقتی تاریخ به این صورت میره : 2011/11/04 03:27:31 ب.ظ
خطا دستوری near 03 میده که احتمالا باید ب.ظ و یا ق.ظ باشه
امکانش هست که من بتونم ب.ظ و یا ق.ظ رو به pm یا am تبدیل کنم؟
و یا اینکه کاری کنم که بانک این مقدار رو قبول کنه.

این دستور insert



string ins = "insert into factor (id,date,price)";
ins += "values ({0},{1},{2})";
ins = string.Format(ins, id, date, price);

sarbaz_esf
دوشنبه 22 فروردین 1390, 15:08 عصر
دوست عزیز فیلد تاریخ و ساعت را از چه نوعی تعریف کرده ای؟

sajjadrad
دوشنبه 22 فروردین 1390, 16:04 عصر
از نوع datetime

sarbaz_esf
دوشنبه 22 فروردین 1390, 16:57 عصر
دوست عزیز نوعش را به var char تغییر بده همچنین طولشم تغییر بده زیاد ترش کن مثلا 40
موفق باشی

sajjadrad
دوشنبه 22 فروردین 1390, 19:58 عصر
اینجوری بازم نوعش Datetime باقی میمونه مگه؟
چون میخوام که موقع جستجو تاریخ رو مقایسه کنم مثلا

select * from table where date>2011/01/01

امکانش هست؟

sajjadrad
دوشنبه 22 فروردین 1390, 21:08 عصر
اصلا میشه تاریخ ها رو به این صورت در Sql مقایسه کرد؟
چون تو c# که از کلاس parse استفاده میکنیم

sarbaz_esf
دوشنبه 22 فروردین 1390, 23:10 عصر
دوست عزیز اره میشه فقط بجا مساوی باید از دستور like استفاده کنی
موفق باشی

FastCode
سه شنبه 23 فروردین 1390, 00:52 صبح
سلام.
چرا وقتی بلد نیستید کار رو خرابتر میکنید؟
نه دوست عزیز.کاری که شما اول کردی تقریباً درست بوده.
فقط باید از پارامتر (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter.aspx) ها استفاده کنید.

ehsanara
سه شنبه 23 فروردین 1390, 09:01 صبح
چرا وقتی بلد نیستید کار رو خرابتر میکنید؟
حرف خوبیه

شما هیچ مشکلی با ثبت DateTime نداری
تو DataBase فیلد رو Datetime تعریف کن و بصورت پارامتری تاریخ رو بفرست


DateTime dt = DateTime.Now;


cmd.Parameters.AddWithValue("@date", dt.ToString());