【发布时间】:2015-12-06 07:06:48
【问题描述】:
我的代码可能很脆弱。这里声明
int countDis = (int)cmd.ExecuteScalar();
如果我将存储过程更改为不返回任何内容,那么转换为(int) 将会失败。如果我只是删除它,那么我无法编译。
在这种情况下,防御性编码的最佳代码实践是什么?
【问题讨论】:
-
像
int?一样使用Nullable types -
如果您将存储过程更改为不返回任何内容,那么我认为您最好使用
cmd.ExecuteNonQuery。 -
我只是为了测试而改变它,它应该总是返回一个 number count int
-
SQL Server 存储过程不能返回除
int以外的任何内容作为其返回值 - 所以这真的不是问题......
标签: c# sql sql-server ado.net