PDA

View Full Version : گرفتن تاریخ از پایگاه داده



ahmad000012
دوشنبه 19 دی 1390, 15:34 عصر
توسط کد زیر اطلاعات را از پایگاه می گیرم
objCommand.Parameters.AddWithValue("@cid", txtid.Text);
objCommand.CommandText = "select * from kala where kid=@cid";

SqlDataReader red = objCommand.ExecuteReader();
red.Read();
if (red.HasRows==true)
{
txtname.Text = red["name"].ToString();

combotype.Text = red["type"].ToString();


اما در مورد فیلد تاریخ که از نوع datetime است مشکل دارم

maktoom
دوشنبه 19 دی 1390, 16:33 عصر
سلام
ببین اینجاها مشکلت حل میشه.
اینجا (http://msdn.microsoft.com/en-us/library/ms186724.aspx) و اینجا (http://technet.microsoft.com/en-us/library/ms187819.aspx) و اینجا (http://weblogs.sqlteam.com/jeffs/archive/2007/01/02/56079.aspx)

ahmad000012
دوشنبه 19 دی 1390, 17:22 عصر
نه دوست عزیز
مقادیر بازگشتی از دستور select در متغیر red از نوع شی می باشد
که به وسیله to string به متن تغییر میکند
اما اگه بخواهیم به DateTime تغییر کنه چکار کنم

arefba
دوشنبه 19 دی 1390, 19:00 عصر
سلام دوست عزیز
با این راهی که شما کردین فقط یه کانورت این وسط میخواد

xcomlock
دوشنبه 19 دی 1390, 21:47 عصر
نه دوست عزیز
مقادیر بازگشتی از دستور select در متغیر red از نوع شی می باشد
که به وسیله to string به متن تغییر میکند
اما اگه بخواهیم به DateTime تغییر کنه چکار کنم

http://barnamenevis.org/showthread.php?322207-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-Varbinary-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%AF%D8%B1-Textbox

ahmad000012
دوشنبه 19 دی 1390, 22:53 عصر
خوب دوستان عزیز من میدانم که معادل datetime در sql برابر DateTime در c# است.
اما کد زیر خطا میده
objCommand.Parameters.AddWithValue("@cid", txtid.Text);
objCommand.CommandText = "select * from kala where kid=@cid";

SqlDataReader red = objCommand.ExecuteReader();
red.Read();
if (red.HasRows==true)
{
txtname.Text = red["name"].ToString();

DateTime d = red["Date"].ToString();

خطا تو خط آخر است
لطفا کمک کنید

crazy_1892
دوشنبه 19 دی 1390, 23:19 عصر
دوست عزیز شما داری رشته را میریزی توی یک متغیر از نوغ DateTime
شما باید طرف دیگز هم از نوغ رشته تعریف کنی

ahmad000012
دوشنبه 19 دی 1390, 23:41 عصر
خوب شما بگو چکار کنم
چون اگه بدون تبدیل به رشته بریزم تو DateTime خطا میده که نمی تونی یک شی را بریزم تو DateTime
شما باشید چگونه از پایگاه داده تو DateTime می ریزید

xcomlock
دوشنبه 19 دی 1390, 23:46 عصر
چرا اصرار دارید تو DateTime بریزید ؟

ahmad000012
دوشنبه 19 دی 1390, 23:57 عصر
می خوام بعدش اونو به شمسی تبدیل کنم و نمایش بدم

xcomlock
سه شنبه 20 دی 1390, 00:11 صبح
کد برنامتو به این تغییر بده
DateTime d = Convert.ToDateTime(red["Date"]);

ahmad000012
سه شنبه 20 دی 1390, 00:15 صبح
این قدر باهاش مشغول شدم تا با کد زیر جواب داد

string d = red["date"].ToString();
DateTime t;
t = DateTime.Parse(d);
txtdate.Text = t.ToString();



اما کدی که شما گذاشتی خیلی ساده و مختصر است ببینم امتحان کنم چی میشه

crazy_1892
سه شنبه 20 دی 1390, 09:39 صبح
دوست عزیز اکثر کامپوننت های که دوستان آماده کردند رشته هم به شمسی تبدیل میکند احتیاج نیست حتما DateTime باشه
http://barnamenevis.org/showthread.php?133560-BehooPersianDateValidator-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA%D B%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%B5%D8%AD%D8%AA-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%B4%D9%85%D8%B3%DB%8C-%D8%AF%D8%B1-ASP.NET