日期:2014-05-18  浏览次数:22433 次

c# 输入字符串格式不正确
[code=C#][/code] protected void Button5_Click(object sender, EventArgs e)//出库
  {
  hw.Hliushui = int.Parse(TextBox1.Text);
  hw.Hno = TextBox2.Text;
  hw.Hname = TextBox3.Text;
  hw.Hcangno = TextBox4.Text;
  hw.Hchukuliang =Convert.ToInt32(TextBox13.Text);//这一行出错
  hw.Hchukushijian = TextBox6.Text;
  hw.Hchukujiage =Convert.ToInt32(TextBox7.Text);//这一行出错
  hw.Hjingshouren = TextBox12.Text;
  if (BLL.huowu.chukushuliang(hw))
  {
  BLL.huowu.Update_newchuku(hw);
  BLL.huowu.Add_newchuku(hw);
  GridView1.DataSource = BLL.huowu.Gethuowujinchu(hw).Tables[0];
  GridView1.DataBind();
  }
  else
  {
  Response.Write("<script language=javascript>alert('对不起,库存余额不足!');</script>");
  }
  chushihua();
  }
我向textbox13中输入内容,运行时,说我输入的字符串格式不正确 hw.Hchukuliang =Convert.ToInt32(TextBox13.Text);
hw.Hchukuliang 是int
排错提示:将一个字符串转换成date time 时怎么怎么样,整个程序中就没有这样的格式,怎么出这样的问题?

------解决方案--------------------
程序试图把你的字符串转换为整数的时候,发现字符串不符合要求的格式。

你可以在那两条语句上设置断点,观察一下当时文本框中.Text里究竟是什么样子的。然后多半就找到解决办法了。
------解决方案--------------------
hw.Hchukuliang =Convert.ToInt32(TextBox13.Text);//这一行出错
hw.Hchukushijian = TextBox6.Text;
hw.Hchukujiage =Convert.ToInt32(TextBox7.Text);//这一行出错

检查一下,红色部分不能为空,而且要是数字字符串,否则报转换异常的。
------解决方案--------------------
TextBox13.Text和TextBox7.Text是整数吗?有没有空格这些特殊字符?
------解决方案--------------------
你应该

int x = 0;
if(int.TryParse(TextBox13.Text),out x)
hw.Hchukuliang =x;
------解决方案--------------------
操作之前做一下验证,看看能不能转成数字
探讨

hw.Hchukuliang =Convert.ToInt32(TextBox13.Text);//这一行出错
hw.Hchukushijian = TextBox6.Text;
hw.Hchukujiage =Convert.ToInt32(TextBox7.Text);//这一行出错

检查一下,红色部分不能为空,而且要是数字字符串,否则报转换异常的。