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());
}
我在"String was not recognized as a valid DateTime"
收到错误time.SelectedItem.ToString()
,即使DataTable列的数据类型是字符串。
我应用了断点,09:30:00
是我在time.SelectedItem.ToString()
答案 0 :(得分:3)
您的输入'09:30:00'仅提及相应列的数据类型为DateTime,其中输入包括日,月和年。
(假设它是下拉列表) 因此,为了获得字符串中的Time,请执行以下操作:
string mytime= DateTime.Parse(DropDownlist.SelectedItem.Text.ToString()).ToShortTimeString();
答案 1 :(得分:1)
错误消息似乎表明将string
值转换为Datetime
时会出现问题。
此转换发生的唯一地方是
Convert.ToDateTime(txtdate.Text)
线。您能否仔细检查txtdate
的值并确保它是有效日期。
答案 2 :(得分:0)
您在此字段中拥有的价值txtdate.Text
可能会导致问题。
你这样做
Convert.ToDateTime(txtdate.Text)
因此,如果TextBox包含除日期格式之外的其他值。然后它会抛出一个错误。