フォームにあるすべてのデータをEquipmentというデータベースに挿入したいとします。 しかし、保存ボタンをクリックすると、「パラメータ値を文字列からDateTimeに変換できませんでした」というエラーが表示されます。修正するには文字列のパラメータ値をasp.netのDateTimeに変換できませんでしたか?
日付型の特定の列のデータ型を設定しました。私は、テキストボックスにカレンダーを置くので、テキストボックスをクリックすると、カレンダーが表示されます。ユーザーは日付を選択できます。 javascriptを使用して作成されているカレンダー。
誰でもこの問題の解決方法を知っていますか?
The form and the calendar pop up
ボタンを救うためのコード:
string connectionstring = "Data Source=5CG50749V3\\SQLEXPRESS;Initial Catalog=test;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionstring))
{
string sql = @"INSERT Into [Equipment]([OwnerID],[SubjecttoCal],[Model],[Option],[EquipmentID],[SerialNumber],[Description],[Location],
[DueDate],[EquipmentWithdraworRemarks],[NCRorOOTHistory],[LastOOTissuanceDate],
[AvailableinSapphire],[ResponsiblePerson],[CalibrationOption],[CalibrationSourceorLab],
[YearofManufacturing],[ManufacturerorVendor],[CalibrationCost],[AssetNo],[CalibrationTAT],[SendInDate],[Status])
";
using (SqlCommand command = new SqlCommand(sql, connection))
{
command.Parameters.Add("@OwnerID", SqlDbType.NVarChar).Value = TextBox1.Text;
command.Parameters.Add("@SubjecttoCal", SqlDbType.NVarChar).Value = TextBox2.Text;
command.Parameters.Add("@Model", SqlDbType.NVarChar).Value = TextBox3.Text;
command.Parameters.Add("@Option", SqlDbType.NVarChar).Value = TextBox4.Text;
command.Parameters.Add("@EquipmentID", SqlDbType.NVarChar).Value = TextBox5.Text;
command.Parameters.Add("@SerialNumber", SqlDbType.NVarChar).Value = TextBox6.Text;
command.Parameters.Add("@Description", SqlDbType.NVarChar).Value = TextBox7.Text;
command.Parameters.Add("@Location", SqlDbType.NVarChar).Value = DropDownList1.Text;
command.Parameters.Add("@DueDate", SqlDbType.DateTime).Value = TextBox8.Text;
command.Parameters.Add("@EquipmentWithdraworRemarks", SqlDbType.NVarChar).Value = TextBox10.Text;
command.Parameters.Add("@NCRorOOTHistory", SqlDbType.NVarChar).Value = TextBox11.Text;
command.Parameters.Add("@LastOOTissuanceDate", SqlDbType.DateTime).Value = TextBox12.Text;
command.Parameters.Add("@AvailableinSapphire", SqlDbType.NVarChar).Value = TextBox13.Text;
command.Parameters.Add("@ResponsiblePerson", SqlDbType.NVarChar).Value = TextBox14.Text;
command.Parameters.Add("@CalibrationOption", SqlDbType.NVarChar).Value = TextBox15.Text;
command.Parameters.Add("@CalibrationSourceorLab", SqlDbType.NVarChar).Value = TextBox16.Text;
command.Parameters.Add("@YearofManufacturing", SqlDbType.NVarChar).Value = TextBox17.Text;
command.Parameters.Add("@ManufacturerorVendor", SqlDbType.NVarChar).Value = TextBox18.Text;
command.Parameters.Add("@CalibrationCost", SqlDbType.NVarChar).Value = TextBox19.Text;
command.Parameters.Add("@AssetNo", SqlDbType.NVarChar).Value = TextBox20.Text;
command.Parameters.Add("@CalibrationTAT", SqlDbType.NVarChar).Value = TextBox21.Text;
command.Parameters.Add("@SendInDate", SqlDbType.DateTime).Value = TextBox22.Text;
command.Parameters.Add("@Status", SqlDbType.NVarChar).Value = DropDownList2.Text;
connection.Open();
command.ExecuteNonQuery();
connection.Close();
}
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Your data have been saved')", true);
}
}
javacriptコード:
<script type="text/javascript">
$(function() {
$("[id$=TextBox8]").datepicker({
dateFormat: 'dd/mm/yy', changeYear: true
});
$("[id$=TextBox12]").datepicker({
dateFormat: 'dd/mm/yy', changeYear: true
});
$("[id$=TextBox17]").datepicker({
dateFormat: 'dd/mm/yy', changeYear: true
});
$("[id$=TextBox22]").datepicker({
dateFormat: 'dd/mm/yy', changeYear: true
});
});
</script>
これは、Webフォームではなく、MVCのように見えますか?明示的にdatetimeパラメーターに文字列を割り当てます。手前の日付形式を知っている場合は、最初に解析してください。 –