我正在调用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;
}
提前致谢
答案 0 :(得分:7)
cmd.ExecuteScalar()
返回一个小数,在返回之前需要将其转换为int,例如:
return Convert.ToInt32(no);
答案 1 :(得分:4)
使用:
int no = (int)cmd.ExecuteScalar();