asp.net1.1.4322 c#该字符串未被识别为有效的 DateTime

hbqhdlc 2006-12-10 12:05:08
这是一个动态创建对象DataTable的问题:
建立一个对象dataTable后,向其中添加数据列(员工生日):
dataTable.Columns.Add("Birthday",typeof(DateTime));
为这列添加数据列:
row["Birthday"] = dr["Birthday"].ToString;
在调试时说成功,但运行时给出提示:System.FormatException: 该字符串未被识别为有效的 DateTime。(显示的是这行出错:
row["Birthday"] = dr["Birthday"].ToString;)
详细的错误信息如下:
[ArgumentException: System.FormatException: 该字符串未被识别为有效的 DateTime。
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at System.DateTime.Parse(String s, IFormatProvider provider, DateTimeStyles styles)
at System.DateTime.Parse(String s, IFormatProvider provider)
at System.Convert.ToDateTime(String value, IFormatProvider provider)
at System.String.System.IConvertible.ToDateTime(IFormatProvider provider)
at System.Convert.ToDateTime(Object value)
at System.Data.Common.DateTimeStorage.Set(Int32 record, Object value)
at System.Data.DataColumn.set_Item(Int32 record, Object value)不能在 Birthday 列中存储 <>。所需类型是 DateTime。]
System.Data.DataColumn.set_Item(Int32 record, Object value)
System.Data.DataRow.set_Item(DataColumn column, Object value)
System.Data.DataRow.set_Item(String columnName, Object value)
Example_8_1.MyDataTable.CreatDataTable() in c:\inetpub\wwwroot\example_8_1\mydatatable.aspx.cs:90
Example_8_1.MyDataTable.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\example_8_1\mydatatable.aspx.cs:31
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
哪位有时间帮我看一下,先谢谢了。
...全文
278 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
myh0305 2006-12-10
  • 打赏
  • 举报
回复
row["Birthday"] = dr["Birthday"].ToString;

字段Birthday是时间类型的,但你后面的.ToString()只是转化成字符串而已
你用DateTime.Parse()或者ParseExact()将字符串转换为DateTime型,再进行赋值

具体的查阅msdn
hbqhdlc 2006-12-10
  • 打赏
  • 举报
回复
再次谢谢。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧