I'm trying to add a datetime into a database table by grabbing values from textboxes that have various masks etc. I'm getting the following error:
String was not recognized as a valid DateTime.
Textbox code:
<asp:TableRow>
<asp:TableCell>
<asp:ToolkitScriptManager ID="calendarToolkit" runat="server"></asp:ToolkitScriptManager>
<asp:TextBox ID="startDateTextbox" runat="server"></asp:TextBox>
<asp:CalendarExtender Format="yyyy-dd-MM" ID="startDateExtender" TargetControlID="startDateTextbox" runat="server" />
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell>
<asp:TextBox ID="startTimeTextbox" runat="server"></asp:TextBox>
<asp:MaskedEditExtender ID="m1" runat="server" Mask="99:99" MaskType="Time" AcceptAMPM="false"
MessageValidatorTip="true" TargetControlID="startTimeTextbox"
ClearMaskOnLostFocus="false">
</asp:MaskedEditExtender>
<asp:MaskedEditValidator ID="mv1" runat="server" ControlExtender="m1" ControlToValidate="startTimeTextbox"
Display="none" EmptyValueMessage="Time is required" InvalidValueMessage="Valid Start Time"
IsValidEmpty="true" TooltipMessage="Input a time">
</asp:MaskedEditValidator>
</asp:TableCell>
</asp:TableRow>
c# code to add values into database:
string sqlQuery =
"insert into dbo.Event_Info(event_name, description, location, date_end,date_start,image_url) values(@name, @desc, @location,@startDate,@endDate,@imageURL)";
SqlConnection dbConnection = new SqlConnection("server=(local)\\SGSQL;database=STEvent;Trusted_Connection=yes");
dbConnection.Open();
SqlCommand dbCommand = new SqlCommand(sqlQuery, dbConnection);
SqlParameter startParam = new SqlParameter("@startDate",SqlDbType.DateTime);
startParam.Value = Convert.ToDateTime(startDateTextbox.Text +" " + startTimeTextbox.Text);
dbCommand.Parameters.Add(startParam);
dbCommand.ExecuteNonQuery();
dbConnection.Close();
Note: Only added a subset of the code as showing all the other parameters seemed long and redundant.