我想運行一個sql存儲過程並從查詢中返回一個值。我的語法拋出的錯誤:從SQL查詢返回參數
無法隱式轉換類型「System.Data.SqlClient.SqlParameter」到「小數」
這是我的語法,我應該怎樣纔能有這種改變正常運行?
public Decimal ReturnValueFromQuery(string connectionString, string sqlQuery, int blah, DateTime d1, DateTime d2)
{
string cs = System.Configuration.ConfigurationManager.AppSettings[connectionString].ToString();
try
{
using (SqlConnection conn = new SqlConnection(cs))
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sqlQuery;
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@blah", SqlDbType.Int).Value = blah;
cmd.Parameters.Add("@startDate", SqlDbType.Date).Value = d1;
cmd.Parameters.Add("@endDate", SqlDbType.Date).Value = d2;
var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
returnParameter.Direction = ParameterDirection.ReturnValue;
conn.Open();
cmd.ExecuteNonQuery();
return returnParameter;
}
}
catch { }
}
錯誤消息說全部 –
如果你不能隱式地轉換某些東西,通常顯式轉換它的工作原理(如果與它相關的數據是無論如何都是兼容的)。 – user2366842
顯式轉換爲從SQL返回的值的十進制數。 –