-1
我使用此代码传递日期时间。字符串未被识别为有效的日期时间。在C#
Convert.ToDateTime(textBox1.Text)
但编译器显示错误,表明字符串未被识别为有效的日期时间。所以如何避免这个错误,并且是我的数据库中的日期时间字段。
我使用此代码传递日期时间。字符串未被识别为有效的日期时间。在C#
Convert.ToDateTime(textBox1.Text)
但编译器显示错误,表明字符串未被识别为有效的日期时间。所以如何避免这个错误,并且是我的数据库中的日期时间字段。
Convert.ToDateTime(textBox1.Text)
此代码将引发异常,如果在textBox1.Text
的string
值不表示一个有效的DateTime
(或至少不能被解析成一个在C#默认功能)。你可以添加一些防御性编程来处理这样的错误。
DateTime
类型(以及大多数,如果不是全部,.NET中的常见值类型)具有a method on it called TryParse()
专门用于尝试将值解析为该类型而不引发异常。如果解析成功,则该方法返回true
,否则返回false
。并且它接受out
参数来保存结果解析值(或者如果解析不成功则返回原始值)。
因此,不是这样的:
var dateTimeValue = Convert.ToDateTime(textBox1.Text);
你可以使用这样的事情:
var dateTimeValue = DateTime.MinValue;
if (DateTime.TryParse(textBox1.Text, out dateTimeValue))
// use the value for something
什么是输入字符串的值? – aleroot 2012-07-07 09:14:01
“textBox1.Text”的价值是什么?我猜这是不能直接解析到'DateTime'中的东西。如何避免这个错误是使用正确的'DateTime'值,使用'DateTime.TryParse()'来处理可能的错误等。这与你的数据库字段无关。 – David 2012-07-07 09:14:41
我通常输入如同01/01/2012 – 2012-07-07 09:16:21