无法将类型'decimal'隐式转换为'int'.存在显式转换(您是否错过了演员?)

1 c#

我正在调用GetSerialNo函数,但它显示一些错误,如:

无法将类型'decimal'隐式转换为'int'.存在显式转换(您是否错过了演员?).

任何人都可以帮我解决这个问题吗?

这是代码:

int slNo= GetSerailNo(keydata);

private int GetSerailNo(String keydata)
{

    SqlConnection con = new SqlConnection(@"server=Servername;database=DBNAME;uid=Username;pwd=Pwd;max pool size=250;Connect Timeout=0");
    con.Open();
    cmd = new SqlCommand("select isnull(max(slno)+1,1) from d001docs where source_keydata='" + keydata + "'", con);
    dynamic no = cmd.ExecuteScalar();
    cmd.Dispose();
    con.Close();
    return no;
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

Rik*_*Rik 7

cmd.ExecuteScalar()
Run Code Online (Sandbox Code Playgroud)

返回一个小数,在返回之前需要将其转换为int,例如:

return Convert.ToInt32(no);
Run Code Online (Sandbox Code Playgroud)