我认为有一些微不足道的事情,我忽略了这个问题,我正在调用存储过程,我知道调用是在我可以在分析器中看到它,当我从查询分析器运行存储过程时它确实按预期返回记录。问题是当我从C#代码调用它时,执行正在发生,但没有检索到结果。
我的调试显示,如果我有一个代码,如 如果OBJECT_ID('tempdb .. ## base')IS NOT NULL drop table ## base 在存储过程中,它不会使用OdbcDataReader返回任何数据,否则它将返回数据,有人可以告诉我为什么会这样吗?
由于
答案 0 :(得分:0)
请记住,返回给.NET的结果是在过程中发出SELECT的LAST语句的结果。如果OBJECT_ID查询是在SELECT语句之后你想要返回数据那么你可能不会得到结果。
但是,我需要查看您的存储过程以确定无误。
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER PROCEDURE dbo.proc_myStoredProc
AS
if OBJECT_ID ('tempdb..##base') IS NOT NULL drop table ##base
SELECT * FROM mytable
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
如果我删除上面的drop table语句,我得到数据,否则没有
如何检查和删除温度表