将类型从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
您正在返回数字,因此int
在这里更可取。
此外,当解析C#代码中的错误时,你可以做一些类似的事情:
enum Error { NO_ERROR = -1, ERROR 1 };
....
Error e = (Error)cmd.ExcecuteScalar();
这是非常干净和自我解释的代码作为oposite解析结果到int,或比较字符串值。