private void AttendenceDataView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (AttendenceDataView.Columns[e.ColumnIndex].Name == "Update")
{
DBAccess.GetInstance().UpdateAttendence(int.Parse(AttendenceDataView["迟到次数", e.RowIndex].ToString()), int.Parse(AttendenceDataView["早退次数", e.RowIndex].ToString()),
int.Parse(AttendenceDataView["旷课次数", e.RowIndex].ToString()), int.Parse(AttendenceDataView["请假次数", e.RowIndex].ToString()),
AttendenceDataView["事因", e.RowIndex].ToString(), AttendenceDataView["备注", e.RowIndex].ToString(), cbYear.Text, AttendenceDataView["学号", e.RowIndex].ToString()); }
}
我在数据库中迟到,早退,旷课,请假都是int类型,而在在datagridview中读出数据时用了int.parse()转换,不知道那里出错了,报错说:输入字符串的格式不正确。
高手们帮帮小弟!拜谢!
{
if (AttendenceDataView.Columns[e.ColumnIndex].Name == "Update")
{
DBAccess.GetInstance().UpdateAttendence(int.Parse(AttendenceDataView["迟到次数", e.RowIndex].ToString()), int.Parse(AttendenceDataView["早退次数", e.RowIndex].ToString()),
int.Parse(AttendenceDataView["旷课次数", e.RowIndex].ToString()), int.Parse(AttendenceDataView["请假次数", e.RowIndex].ToString()),
AttendenceDataView["事因", e.RowIndex].ToString(), AttendenceDataView["备注", e.RowIndex].ToString(), cbYear.Text, AttendenceDataView["学号", e.RowIndex].ToString()); }
}
我在数据库中迟到,早退,旷课,请假都是int类型,而在在datagridview中读出数据时用了int.parse()转换,不知道那里出错了,报错说:输入字符串的格式不正确。
高手们帮帮小弟!拜谢!
这里打断点,调试下,看看是不是生成的sql里边多了什么东西。
Convert.ToInt32()
int.Parse 只能转换数字类型的字符串(string),
而Convert.ToInt32 可以转换的类型较多。
刚看到楼主代码后边的ToString()。