.NET C# 输入字符串的格式不正确。
类的方法
public bool SaveTeacher(string strID, string strTime, string strLesson, int iPeriod, float fScale, float fSalary)
{
string strComm = @"insert into [Teacher](ID,Time,Lesson,Period,Scale,Salary)
values(@ID,@Time,@Lesson,@Period,@Scale,@Salary)";
SqlConnection sqlConn = this.GetSqlServerConn(); //调用GetSqlServerConn()方法获得数据库连接
SqlCommand sqlComm = new SqlCommand(); //生成数据库命令操作对象
try
{
sqlComm.CommandText = strComm; //指定要执行的SQL命令
sqlComm.Connection = sqlConn; //指定要使用的SQL连接
sqlComm.Parameters.AddWithValue("@ID", strID); //为SQL命令的参数赋值
sqlComm.Parameters.AddWithValue("@Time", strTime);
sqlComm.Parameters.AddWithValue("@Lesson", strLesson);
sqlComm.Parameters.AddWithValue("@Period", iPeriod);
sqlComm.Parameters.AddWithValue("@Scale", fScale);
sqlComm.Parameters.AddWithValue("@Salary", fSalary);
sqlComm.ExecuteNonQuery(); //执行SQL命令
return true;
}
catch (Exception ex)
{
return false;
}
finally
{
this.CloseSqlServerConn(sqlConn); //调用方法关闭数据库
}
}
程序里
bool bResult = dc.SaveTeacher(txtID1.Text.Trim(), ddlTime.SelectedItem.Text.ToString(), ddlLesson.SelectedItem.Text.ToString(),int.Parse(ddlPeriod.SelectedItem.Text.ToString()), float.Parse(ddlScale.SelectedItem.Text.ToString()),float.Parse(lblSalary.Text));
调试结果
输入字符串的格式不正确。 错误就在这一行。但我没看出来哪不对了。。求指导
------解决方案--------------------stacktrack里面看下到底是哪个强制转换出错了 不然你这么多参数谁知道是哪个
------解决方案--------------------肯定是不符合规则 Parse转换错误,仔细检查每一个 Parse后的值
------解决方案--------------------估计是你得time得格式不正确,把time换成'2001-12-12'试试,确认一下
------解决方案--------------------int.Parse(ddlPeriod.SelectedItem.Text.Trim())
------解决方案-------------------- float.Parse(ddlScale.SelectedItem.Text.ToString()),float.Parse(lblSalary.Text)
这两个其中一个出错