با سلام
برای ثبت تاریخ روز هنگام درج پست مشکل دارم
من کد رو به این صورت می نویسم:
protected void Button3_Click(object sender, EventArgs e) { DAL d1 = new DAL(); if (Page.IsValid == true) { string querytext = string.Format( "Insert Into Tbl_Comments(Name,Text,Email,DateReg,PostID,Website,Active) Values(N'{0}',N'{1}',N'{2}',{3},{4},N'{5}','False')", NameForm.Text, TextForm.Text, EmailForm.Text, DateTime.Now.ToShortDateString(), Request.QueryString["ID"], WebsiteForm.Text); d1.ExecNonQuery(querytext); Alert.InnerText = "نظر شما با موفقیت ثبت شد و پس از تایید مدیریت نمایش داده می شود."; NameForm.Text = ""; TextForm.Text = ""; EmailForm.Text = ""; WebsiteForm.Text = ""; } }
درواقع فیلد تاریخ رو توی دیتابیس با اسم DateReg و تایپ datetime گذاشتم و توی کدنویسی DateTime.Now.ToShortDateString() رو نوشتم. الان پست ثبت میشه اما تاریخ توی دیتابیس به این صورت ذخیره میشه و تاریخ روز رو نمیگیره : 1900-01-01 00:00:00.000
اگر به جای DateTime.Now.ToShortDateString() فقط بنویسم DateTime.Now هم اصلا پست ثبت نمیشه!
از پرشیا هم استفاده کردم ولی همین مشکل رو داشت تاریخ اینجوری ثبت میشد : 1900-01-01 00:00:00.000
ممنون میشم راهنمایی کنید مشکل از کجاست؟
به شکل زیر بنویسید
string querytext = string.Format( "Insert Into Tbl_Comments(Name,Text,Email,DateReg,PostID,Website,Active) Values(N'{0}',N'{1}',N'{2}',{3},{4},N'{5}','False')", NameForm.Text, TextForm.Text, EmailForm.Text, DateTime.Now, Request.QueryString["ID"], WebsiteForm.Text);
ممنون استاد اما عرض کردم اگر به جای DateTime.Now.ToShortDateString() فقط بنویسم DateTime.Now هم اصلا پست ثبت نمیشه!
هیچ اروری هم نمیده اما ثبت نمیشه
نوع ستون بانک را به Date تغییر دهید و تست کنید
نوع ستون بانک رو به date تغییر دادم اما باز هم مطلب ثبت نمیشه. کد رو هم به این صورت نوشتم:
protected void Button3_Click(object sender, EventArgs e) { DAL d1 = new DAL(); if (Page.IsValid == true) { string querytext = string.Format( "Insert Into Tbl_Comments(Name,Text,Email,DateReg,PostID,Website,Active) Values(N'{0}',N'{1}',N'{2}',{3},{4},N'{5}','False')", NameForm.Text, TextForm.Text, EmailForm.Text, DateTime.Now, Request.QueryString["ID"], WebsiteForm.Text); d1.ExecNonQuery(querytext); Alert.InnerText = "نظر شما با موفقیت ثبت شد و پس از تایید مدیریت نمایش داده می شود."; NameForm.Text = ""; TextForm.Text = ""; EmailForm.Text = ""; WebsiteForm.Text = ""; } }
Connection را open میکنید ؟
کد داخل d1 را قرا دهید
بفرمایید این هم کد کلاس DAL
public void ExecNonQuery(string sqltext) { SqlConnection k = new SqlConnection(); k.ConnectionString = "Data Source=ASPSAZ;Initial Catalog=MAlHosseini.IR; Trusted_Connection=True;"; k.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = k; cmd.CommandText = sqltext; cmd.ExecuteNonQuery(); k.Close(); } public DataTable ExecuteQuery(string sqltext) { SqlConnection k = new SqlConnection(); k.ConnectionString = "Data Source=ASPSAZ;Initial Catalog=MAlHosseini.IR; Trusted_Connection=True;"; DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = k; da.SelectCommand.CommandText = sqltext; da.Fill(dt); return dt; }
البته فقط وقتی که برای درج تاریخ مینویسم DateTime.Now این مشکل وجود داره و پست ثبت نمیشه. وقتی میزنم DateTime.Now.ToShortDateString() پست بدون مشکل ثبت میشه ولی تاریخ روز رو نمیگیره و توی دیتابیس 01-01-1900 ثبت میشه. گاهی اوقات هم 04-01-1990 ثبت میشه
همه چی درست به نظر میاد
یک تصویر از ححالت Design جدول در بانک قرار دهید لطفا
بفرمایید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)