如何修复输入字符串不正确的格式错误

时间:2015-11-23 05:49:10

标签: c# winforms

第一个是查询函数,通过使用LicenseNumber从表tblDDDDriver访问maxdeathnumber,并在textbox和数据类型中显示LicenseNumber是十进制(18,0),它是tblDDDDriver中的字段或列名称之一。第二个是我编码访问该功能。现在,当我单击按钮时,我显示错误输入字符串的格式不正确

Image Linke

public DataTable GetMaxDeathNo(decimal LicenseNumber)
{
     SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB; Integrated Security=True; Initial Catalog=tprojectDB;");
     string sql = "select Max(DeathNumber) as DeathNumber from tblDDDDeath where LicenseNumber=@LicenseNumber";/*"select Max(Value) from tblv where Licenseno=@licenseno"*/;
     SqlCommand cmd = new SqlCommand(sql, con);
     cmd.Parameters.AddWithValue("@LicenseNumber", LicenseNumber);
     SqlDataAdapter da = new SqlDataAdapter(cmd);
     DataTable dt = new DataTable();
     da.Fill(dt);
     return dt;
}



DataTable dd = dc.GetMaxDeathNo(Convert.ToDecimal(txtlicensenumber.Text));
if (dd.Rows.Count > 0)
{
     txtdeathaccidentno.Text = dd.Rows[0]["DeathNumber"].ToString();
}

2 个答案:

答案 0 :(得分:2)

您的Convert.ToDecimal(txtlicensenumber.Text)收到包含无效字符的字符串。

尝试将其更改为:

Decimal d;
if (Decimal.TryParse(txtlicensenumber.Text, out d))
{
  DataTable dd = dc.GetMaxDeathNo(d);
  if (dd.Rows.Count > 0)
  {
      txtdeathaccidentno.Text = dd.Rows[0]["DeathNumber"].ToString();
  }
}

答案 1 :(得分:0)

你可以使用

Decimal.Parse(txtlicensenumber.Text)