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