存储过程:
dbo.GetLDate
select DateEntered from Table1 where Id = 4, Gid=5结果:
Executed Successfully要验证的新查询:
DECLARE @LDate datetime
EXEC @LDate = GetLDate 4,5结果:
DateEntered
2014-02-13 06:21:43.600因此,工作得很好
创建的最终存储过程:
EXEC @LDate = GetLDate 4,5
Select 1在C#中
int? id = _database.ExecuteScalar() as int?;在这里,每次我只得到空值。但是我选择了1,我仍然得到空值。这可能是什么原因呢?
发布于 2015-06-11 02:29:49
您正在选择字符串'1',但无法使用cast将其转换为int?。因此,您将得到null。
使用:
SELECT 1 --without single quotes或者,您可以像这样使用Convert.ToInt32:
int? id = Convert.ToInt32(_database.ExecuteScalar());考虑以下示例:
object obj = "1";
int? id = obj as int?;当从"1" (string)转换到int/int?将失败时,您将得到null。
https://stackoverflow.com/questions/30764427
复制相似问题