繁体   English   中英

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

[英]Best practice for returning type from SQL Server to ExecuteScalar?

在C# SqlCommand - ExecuteScalar是:

private object CompleteExecuteScalar(SqlDataReader ds, bool returnSqlValue)

现在让我们转到SQL Server。

如果我想从选择(返回到ExecuteScalar )中返回一个值,例如:

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

题 :

为了减少C#中的强制转换和tostring()数量,从SQL Server返回的首选(最佳做法)类型是什么:

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();

这是非常干净的,并且自我解释代码与将结果解析为int或比较字符串值相反。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM