相关疑难解决方法(0)

System.Convert.ToInt vs(int)

我在另一篇文章中注意到有人做了类似的事情:

double d = 3.1415;
int i = Convert.ToInt32(Math.Floor(d));
Run Code Online (Sandbox Code Playgroud)

他们为什么使用转换函数,而不是:

double d = 3.1415;
int i = (int)d;
Run Code Online (Sandbox Code Playgroud)

它有一个隐含的底层和转换.

另外,更关注的是,我在一些生产代码中注意到我正在阅读:

double d = 3.1415;
float f = Convert.ToSingle(d);
Run Code Online (Sandbox Code Playgroud)

这是一样的:

float f = (float)d;
Run Code Online (Sandbox Code Playgroud)

是否所有这些隐式转换只是在Convert类中是为了完整性,还是它们是否有用?我可以理解需要.ToString(),但不是其他的.

c# types

12
推荐指数
1
解决办法
7409
查看次数

如何从存储过程中获取返回值?

这是我的SQL:

IF (SELECT Status FROM dbo.Coupon WHERE Guid = @pGuid) = 0
BEGIN
    UPDATE
        dbo.Coupon

    SET
        Status = @pStatus   

    WHERE
        Guid = @pGuid

    RETURN 0    
END

ELSE

RETURN 1;
Run Code Online (Sandbox Code Playgroud)

这是我的C#:

try
            {
                DbCommand command = db.GetStoredProcCommand("upd_Coupon_p");
                db.AddInParameter(command, "@pGuid", DbType.String, s);
                db.AddInParameter(command, "@pStatus", DbType.Byte, 1);
                ds = db.ExecuteDataSet(command);
             }
Run Code Online (Sandbox Code Playgroud)

如何在代码中获得0或1的返回值?

c# sql-server asp.net return-value

4
推荐指数
1
解决办法
2184
查看次数

如何使用execute scalar返回bool

我有一个存储过程返回一个布尔变量:

这是我的C#代码,当我尝试返回一个int变量时工作.但是当我尝试bool时它不起作用.

DbCommand dbCommand = db.GetStoredProcCommand("spGetConfigureAlerts");
            object o = db.ExecuteScalar(dbCommand);
            bool item = o == null ? 0 : (bool)o;
            return item;
Run Code Online (Sandbox Code Playgroud)

我如上所示,但在第三行它说:

Type of conditional expression cannot be determined because there is no implicit conversion between 'int' and 'bool'    
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

c# sql-server asp.net visual-studio-2010 sql-server-2008

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