将类型从SQL Server返回到ExecuteScalar的最佳实践

本文关键字:ExecuteScalar 最佳 返回 类型 SQL Server | 更新日期: 2023-09-27 18:25:54

在C#中,SqlCommand - ExecuteScalar是:

private object CompleteExecuteScalar(SqlDataReader ds, bool returnSqlValue)

现在让我们转到SQL Server。

如果我想从select(进入ExecuteScalar)返回一个值,例如:

if record already exists select `-1`
else select `0`

问题:

为了减少cast&C#中的tostring():

if exists(select ....) select '-1'       -- string

if exists(select ....) select -1         -- int

将类型从SQL Server返回到ExecuteScalar的最佳实践

您正在返回数字,因此int在这里更可取。

此外,当解析C#代码中的错误时,你可以做一些类似的事情:

enum Error { NO_ERROR = -1, ERROR 1 };
....
Error e = (Error)cmd.ExcecuteScalar();

这是非常干净和自我解释的代码作为oposite解析结果到int,或比较字符串值。