相关疑难解决方法(0)

使用SqlDataReader时如何获取存储过程的返回值?

使用datareader时是否无法获得存储过程的返回值?返回值始终为null,但SP从SSMS中返回有效的int.

myCommand.CommandText = "GetVenueVideos";
SqlParameter retVal = new SqlParameter("@returnValue",SqlDbType.Int);
retVal.Direction = ParameterDirection.ReturnValue;
myCommand.Parameters.Add(retVal);
myReader = myCommand.ExecuteReader();
if (myReader.Read() && myReader.HasRows)
{
    int returnValue = Convert.ToInt32(retVal.Value);
    //returnValue is null at this point
}
Run Code Online (Sandbox Code Playgroud)

.net sql asp.net sqldatareader

7
推荐指数
1
解决办法
1万
查看次数

EF6存储过程没有结果

我的环境是VS 2012,C#,EF6和SQL Server 2008 R2.

我想执行一个存储过程来使用模式删除没有返回值的记录:

dataContext.Database.SqlQuery<return type>("name", parameter)
Run Code Online (Sandbox Code Playgroud)

如果没有返回结果,例如NO COUNT ON我应该将什么设置为返回类型?似乎它应该很简单但我无法在任何地方找到答案.

我试过dataContext.Database.SqlQuery("name", parameter)但是返回了一个编译错误:最好的重载方法匹配'System.Data.Entity.Database.SqlQuery(System.Type, string, params object[])'有一些无效的参数

c# sql sql-server-2008-r2 entity-framework-6

3
推荐指数
1
解决办法
3528
查看次数