'该字符串未被识别为有效的DateTime。如何解决这个问题?

问题描述 投票:0回答:1

我收到此错误* System.FormatException:'该字符串未被识别为有效的DateTime。从索引0开始有一个未知词。'

           if (dtgMember.Columns[e.ColumnIndex].Name == "Edit")
            {
                DialogResult result = MessageBox.Show("Do you wish to update this record?", "Messsage", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {

                    ADD_MEMBER am = new ADD_MEMBER();
                    am.btnAdd.Text = "Update";
                    am.txtMemberId.Text = this.dtgMember.CurrentRow.Cells[2].Value.ToString();
                    conn.Open();
                    SqlCommand cmd1 = new SqlCommand();
                    cmd1.CommandText = "Select Description FROM ReaderType";
                    cmd1.Connection = conn;
                    SqlDataReader reader = cmd1.ExecuteReader();
                    while (reader.Read())
                    {
                        am.cmbReaderType.Items.Add(reader["Description"]);

                    }
                    reader.Close();
                    conn.Close();
                    am.cmbReaderType.SelectedIndex = am.cmbReaderType.FindString(this.dtgMember.CurrentRow.Cells[3].Value.ToString());
                    am.txtFirstname.Text = this.dtgMember.CurrentRow.Cells[4].Value.ToString();
                    am.cmbGender.Text = this.dtgMember.CurrentRow.Cells[5].Value.ToString();
                    am.txtContactNo.Text = this.dtgMember.CurrentRow.Cells[6].Value.ToString();
                    am.dtpMemberDate.Value = Convert.ToDateTime(this.dtgMember.CurrentRow.Cells[7].ValueType.ToString());
                    am.ShowDialog();
                    GetListMember();
                }
                else if (result == DialogResult.No)
                {
                    return;
                }
            }
c# datetime converters
1个回答
0
投票

就在描述中。值:

this.dtgMember.CurrentRow.Cells[7].ValueType.ToString()

不是可以转换为日期时间的字符串值。

尝试

if(DateTime.TryParse(this.dtgMember.CurrentRow.Cells[7].ValueType.ToString(), out DateTime dateTime))
{
am.dtpMemberDate.Value = dateTime;
}

如果没有为您提供所需的结果。仔细查看那里实际存储的内容,也许字符串不是DateTime对象知道如何转换为datetime对象的格式,并且您需要探索如何为DateTime转换器提供格式?

© www.soinside.com 2019 - 2024. All rights reserved.