C# 字符串未被识别为有效的日期时间错误 DataTable dt1=newdatatable(); dt1.Columns.Add(“studid”,typeof(int)); dt1.Columns.Add(“rollno”,typeof(int)); dt1.Columns.Add(“日期”,typeof(DateTime)); dt1.Columns.Add(“starttime”,typeof(string)); dt1.Columns.Add(“class”,typeof(string)); dt1.Columns.Add(“节”,typeof(字符串)); dt1.Columns.Add(“主题”,typeof(字符串)); 对于(int i=0;i
我在C# 字符串未被识别为有效的日期时间错误 DataTable dt1=newdatatable(); dt1.Columns.Add(“studid”,typeof(int)); dt1.Columns.Add(“rollno”,typeof(int)); dt1.Columns.Add(“日期”,typeof(DateTime)); dt1.Columns.Add(“starttime”,typeof(string)); dt1.Columns.Add(“class”,typeof(string)); dt1.Columns.Add(“节”,typeof(字符串)); dt1.Columns.Add(“主题”,typeof(字符串)); 对于(int i=0;i,c#,asp.net,C#,Asp.net,我在时间收到错误“字符串未被识别为有效的日期时间”。即使DataTable列的数据类型为String,也选择EdItem.ToString()。 我应用了断点,并且09:30:00是我在时间中得到的值。选择editem.ToString()此字段中的值txtdate.Text可能是它导致了问题 你在这么做吗 DataTable dt1 = new DataTable(); dt1.Columns.Add("studid",typeof(int));
时间收到错误“字符串未被识别为有效的日期时间”
。即使DataTable列的数据类型为String,也选择EdItem.ToString()
。
我应用了断点,并且
09:30:00
是我在时间中得到的值。选择editem.ToString()
此字段中的值txtdate.Text
可能是它导致了问题
你在这么做吗
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());
}
所以,如果文本框包含不同于日期格式的值。然后它将抛出一个错误。此字段中的值
txtdate.Text
可能是导致问题的原因
你在这么做吗
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());
}
所以,如果文本框包含不同于日期格式的值。然后它将抛出一个错误。错误消息似乎表明将
字符串
值转换为日期时间
时出现问题
此转换发生的唯一地方是
Convert.ToDateTime(txtdate.Text)
线路。您能否再次检查
txtdate
的值并确保它是有效日期。错误消息似乎表明将字符串
值转换为Datetime
时出现问题
此转换发生的唯一地方是
Convert.ToDateTime(txtdate.Text)
线路。您能否再次检查
txtdate
的值并确保它是一个有效的日期。您的输入“09:30:00”只提到时间,而相应列的数据类型是DateTime,其中输入包括日期、月和年
(假设它是一个下拉列表)
因此,为了获得字符串中的时间,请执行以下操作:
Convert.ToDateTime(txtdate.Text)
您的输入'09:30:00'只提到时间,而相应列的数据类型是DateTime,输入包括日期、月份和年份 (假设它是一个下拉列表) 因此,为了获得字符串中的时间,请执行以下操作:
Convert.ToDateTime(txtdate.Text)
Convert.ToDateTime更有可能引发异常。我会避免使用这样的一行程序。在for循环中使用变量,这将使代码更具可读性,并简化调试。我在时间上遇到了错误。SelectedItem.ToString()@Arbaaz:如果您得到“9:30:00 for time.SelectedItem.ToString”,您如何知道您在那里遇到了错误?当所有错误都在一行中时,您如何知道您在那里遇到了错误?将每个值分解为单独的变量,在七行上执行解析和赋值。然后将它们添加到行中。Convert.ToDateTime更有可能引发异常。我会避免使用这样的行。在for循环中使用变量,这将使代码更具可读性,并简化调试。我在时间上遇到了错误。SelectedItem.ToString()@Arbaaz:如果您得到“9:30:00 for time.SelectedItem.ToString”,您如何知道您在那里遇到了错误?当所有错误都在一行中时,您如何知道您在那里遇到了错误?将每个值分解为单独的变量,在七行上执行解析和赋值。然后将它们添加到行中。“3/15/2013”是id txtdate.Text的值,是的,这就是罪魁祸首。我如何解决这个问题?我正在使用日历来选择其中的日期textbox@Arbaaz默认情况下,转换格式为美式,相当于dd/mm/yyyy。由于15在一个月内无效,因此它会出错。更改日历控件以美式格式输出日期,或在转换功能中包含
IFormatProvider
——有关此功能的更多信息,请参阅。例如,Convert.ToDateTime(txtdate.Text,新文化信息(“en gb”))
“3/15/2013”是id txtdate.Text的值,是的,这就是罪魁祸首。我如何解决这个问题?我正在使用日历来选择其中的日期textbox@Arbaaz默认情况下,转换格式为美式,相当于dd/mm/yyyy。由于15在一个月内无效,因此它会出错。更改日历控件以美式格式输出日期,或在转换功能中包含IFormatProvider
——有关此功能的更多信息,请参阅。例如,Convert.ToDateTime(txtdate.Text,新文化信息(“en gb”))
“3/15/2013”是id txtdate.Text的值,是的,这就是罪魁祸首。我如何解决这个问题?我正在使用Calendar在文本框中选择日期,“3/15/2013”是值id txtdate.Text,是的,这就是罪魁祸首。我如何解决这个问题?我正在使用日历在该文本框中选择日期