我有一个日历,用户将选择日期,并且必须将其存储到数据库中。请帮我把日期保存到数据库
数据库中的日期数据类型为“date”。
我收到日期错误“输入字符串的格式不正确。”
我尝试从日历中插入的日期4/11/2015
这是我的编码
班级代码
public Boolean InsertBookings(int BookingID, DateTime Date, DateTime Returndate, int ReturntimeID, string Returnpickupaddress, string Returndropofdetails, string Comments)
{
OConnection = new SqlConnection(_ConnectionString);
oCommand.Connection = OConnection;
oCommand.CommandType = CommandType.StoredProcedure;
oCommand.CommandText = "SP_INSERT_BOOKINGS";
oCommand.Parameters.AddWithValue("@ParameterID", (int)SQLparameters.Insert);
oCommand.Parameters.AddWithValue("@BookingID", BookingID);
oCommand.Parameters.AddWithValue("@Date", Date);
oCommand.Parameters.AddWithValue("@Returndate", Returndate);
oCommand.Parameters.AddWithValue("@RetuntimeID", ReturntimeID);
oCommand.Parameters.AddWithValue("@Returnpickupaddress", Returnpickupaddress);
oCommand.Parameters.AddWithValue("@Returndropofdetails", Returndropofdetails);
oCommand.Parameters.AddWithValue("@Comments", Comments);
OConnection.Open();
Boolean _Results = Convert.ToBoolean(oCommand.ExecuteNonQuery());
OConnection.Close();
return _Results;
}
日历代码
protected void BookingCalendar1_SelectionChanged(object sender, EventArgs e)
{
txtDate.Text = BookingCalendar1.SelectedDate.ToString("d");
BookingCalendar1.Visible = false;
}
保存按钮
protected void btnbookings_Click(object sender, EventArgs e)
{
try
{
bool _var = _booking.InsertBookings(_BooingID,
Convert.ToDateTime(txtdate.Text.ToString()),
Convert.ToDateTime(txtReturndate.Text.ToString()),
int.Parse(cboReturntime.SelectedValue.ToString()),
txtReturnpickupaddress.Text,
txtReturndropofdetails.Text,
txtComments.Text);
}
catch (Exception ex)
{
}
}
答案 0 :(得分:0)
您可以尝试格式化日期值,以便作为ISO-8601字符串输入数据库,例如YYYY-MM-DD。
使用DateTime对象,您可以使用Date.UtcNow.ToString(" o")
答案 1 :(得分:0)
您可以将日期列数据类型更改为varchar(4)以消除此错误,但这不是您的问题的解决方案。要获得准确答案,请发布您要插入表格的样本日期。
答案 2 :(得分:0)
将两种数据类型都设为DATETIME
。在插入查询的数据库中,如果需要,请使用CONVERT(DATE,@YourDateTime)