当前位置: 代码迷 >> ASP.NET >> .NET C# 输入字符串的格式不正确。该怎么处理
  详细解决方案

.NET C# 输入字符串的格式不正确。该怎么处理

热度:5721   发布时间:2013-02-25 00:00:00.0
.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)
这两个其中一个出错
  相关解决方案