0
DataTable dt1 = new DataTable();
            dt1.Columns.Add("studid",typeof(int));
            dt1.Columns.Add("rollno", typeof(int));
            dt1.Columns.Add("date", typeof(DateTime));
            dt1.Columns.Add("starttime", typeof(string));
            dt1.Columns.Add("class", typeof(string));
            dt1.Columns.Add("section", typeof(string));
            dt1.Columns.Add("subject", typeof(string));

            for (int i = 0; i < dt.Rows.Count; i++)
            {               
                dt1.Rows.Add(Convert.ToInt32(dt.Rows[i]["id"]), Convert.ToInt32(dt.Rows[i]["rollno"]), Convert.ToDateTime(txtdate.Text),time.SelectedItem.ToString(), drpclass.SelectedItem.ToString(), drpsection.ToString(), drpsubject.SelectedItem.ToString());
            }

即使 DataTable 列的数据类型是字符串,"String was not recognized as a valid DateTime"我也会收到错误消息。time.SelectedItem.ToString()我应用了断点,09:30:00这是我得到的值time.SelectedItem.ToString()

4

3 回答 3

3

您的输入“09:30:00”仅提及时间,而相应列的数据类型是 DateTime,其中输入包括日、月和年。

(假设它是一个下拉列表)因此,为了获取字符串中的时间,请执行以下操作:

string mytime=  DateTime.Parse(DropDownlist.SelectedItem.Text.ToString()).ToShortTimeString();
于 2013-03-15T11:16:00.443 回答
1

该错误消息似乎表明将string值转换为Datetime.

这种转换发生的唯一地方是

Convert.ToDateTime(txtdate.Text)

线。您能否仔细检查 的值txtdate并确保它是有效日期。

于 2013-03-15T10:49:49.653 回答
0

你在这个领域有什么价值txtdate.Text可能会导致问题。

你正在这样做

 Convert.ToDateTime(txtdate.Text)

因此,如果 TextBox 包含除日期格式以外的其他值。那么它会抛出一个错误。

于 2013-03-15T10:48:43.153 回答