public bool InsertBank()
{
try
{
SqlCommand cmd = new SqlCommand("INSERTBANKMASTER", dal.con);
cmd.Parameters.Add("@Bank_Name",SqlDbType.NVarChar).Value = Bank_Name;
cmd.Parameters.Add("@Bank_ShortName",SqlDbType.NVarChar).Value = Bank_ShortName;
cmd.Parameters.Add("@CreditCard_Commission_Percent",SqlDbType.Float).Value = CreditCard_Commission_Percent;
cmd.CommandType = CommandType.StoredProcedure;
return cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
}
我无法解决此错误..我是新的c#..所以任何身体让我知道如何纠正它。
答案 0 :(得分:2)
您的方法应返回bool
类型的值。但是,您返回int
类型的值,因为cmd.ExecuteNonQuery()
会将查询的受影响行数返回为int
。
答案 1 :(得分:2)
猜测:
return cmd.ExecuteNonQuery() != 0;
但这取决于你的查询。由于这是一个SPROC,您可能需要添加一个方向ReturnValur的参数。另请注意:除了销毁.StackTrace之外,你的try / catch什么都不做,你应该“使用”SqlCommand。
答案 2 :(得分:1)
ExecuteNonQuery
方法返回int
,您尝试将其用作方法的返回值。
如果要检查查询是否影响了至少一条记录:
return cmd.ExecuteNonQuery() >= 1;
如果要检查查询是否只影响了一条记录:
return cmd.ExecuteNonQuery() == 1;
答案 3 :(得分:0)
问题是您的方法InsertBank()
声明与您在方法内返回的值不一致。您的方法声明表示它期望bool True
或False
返回值,但您返回Integer
,因为cmd.ExecuteNonQuery();
返回int
而不是bool
}
你应该从你的方法中想出你真正想要的东西。
答案 4 :(得分:0)
使用以下代码。
return Convert.ToBoolean(cmd.ExecuteNonQuery());