This is my code :
protected void Page_Load(object sender, EventArgs e)
{
DateOfBirth.Text = Session["DateOfBirth"].ToString();
Member.Text = Session["Member"].ToString();
}
protected void btn_Confirm_Click(object sender, EventArgs e)
{
SqlConnection cnn;
SqlCommand cmd;
string sql = "INSERT INTO Member (MemberJoinDate,DateOfBirth) VALUES (@MemberJoinDate,@DateOfBirth)";
cnn = new SqlConnection(SqlDataSource1.ConnectionString);
try
{
cnn.Open();
cmd = new SqlCommand(sql, cnn);
cmd.Parameters.Add("@MemberJoinDate", SqlDbType.Date);
cmd.Parameters["@MemberJoinDate"].Value = Member.Text;
cmd.Parameters.Add("@DateOfBirth", SqlDbType.Date);
cmd.Parameters["@DateOfBirth"].Value = MemberID.Text;
cmd.ExecuteNonQuery();
cmd.Dispose();
cnn.Close();
btn_Confirm.Visible = false;
}
catch (Exception ex)
{
Response.Write(ex);
}
After inputting this :
Name : Random
Members Join Date : 08/23/2015
Date of birth : 08/23/2015
I got this Error :
System.FormatException: Failed to convert parameter value from a String to a DateTime.
System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at System.Convert.ToDateTime(String value, IFormatProvider provider)
at System.String.System.IConvertible.ToDateTime(IFormatProvider provider)
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType, Boolean& coercedToDataFeed, Boolean& typeChanged, Boolean allowStreaming)
--- End of inner exception stack trace ---
at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType, Boolean& coercedToDataFeed, Boolean& typeChanged, Boolean allowStreaming)
at System.Data.SqlClient.SqlParameter.GetCoercedValue()
at System.Data.SqlClient.SqlParameter.Validate(Int32 index, Boolean isCommandProc)
at System.Data.SqlClient.SqlCommand.BuildParamList(TdsParser parser, SqlParameterCollection parameters)
at System.Data.SqlClient.SqlCommand.BuildExecuteSql(CommandBehavior behavior, String commandText, SqlParameterCollection parameters, _SqlRPC& rpc)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Summary.btn_Confirm_Click(Object sender, EventArgs e)
Member.Textto a .NETDateTimeobject first, then set it as value of the parameter. - marc_s