Winforms IndexOutofRangeException Winform

Winforms IndexOutofRangeException Winform,winforms,string,split,outofrangeexception,Winforms,String,Split,Outofrangeexception,我的代码有什么问题 string birthdate = ((DataRowView)comboBox1.SelectedItem).Row["birthdate"].ToString(); //pulled the data into the database () string[] split = birthdate.Split('/'); //split the Date 我想把它们放在一个文本框中,所以我想这样做: textbox1.Text = split[0]; //corr

我的代码有什么问题

  string birthdate = ((DataRowView)comboBox1.SelectedItem).Row["birthdate"].ToString(); //pulled the data into the database ()

string[] split = birthdate.Split('/'); //split the Date
我想把它们放在一个文本框中,所以我想这样做:

textbox1.Text = split[0]; //correct, gets the 1st word the (Day)
    textbox2.Text = split[1]; //incorrect, outofrange exception (Month)
    textbox3.Text = split[2]; //incorrect, outforange exception (Year)
注:格式为天/月(字)/年==>2012年1月1日


有人能帮我获取这些值并将它们逐个放入文本框中吗?

这个问题实际上是从将日期存储在varchar类型的列中开始的。只有一台区域设置错误的机器才会损坏数据库表,因此所有试图读取该表的机器都会爆炸。解决实际问题,修理桌子

总之,您需要改进代码,以便dbase管理员有机会修复损坏。抛出提供足够信息的异常。比如:

string[] split = birthdate.Split('/');
if (split.Length != 3) {
    throw new Exception("Invalid date string for table entry " + row["primarykey"].ToString());
}

字符串
生日包含什么?我使用的是一个非数据绑定的组合框,生日是我数据库中的一个Varchar。赞成!我真的不知道为什么我会出错。T_Tsir,这是否意味着我不能拆分数据库中任何varchar类型的值?例如,如果我的数据库中有一个用逗号分隔的连接名称?我不能用上面的程序把它们分开吗?非常感谢你,先生!你的回答给了我一个解决问题的办法:))