C# OdbcDataReader storageproc 调用与参数不返回任何数据

本文关键字:返回 任何 数据 参数 OdbcDataReader storageproc 调用 | 更新日期: 2023-09-27 18:37:09

我认为有一些微不足道的事情,我忽略了这个问题,我正在调用存储的过程,我知道调用是进行的,因为我可以在探查器中看到它,当我从查询分析器运行存储的过程时,它确实按预期返回记录。问题是当我从 C# 代码调用它时,正在执行,但没有检索到任何结果。

我的调试显示,如果我有诸如 如果OBJECT_ID('tempdb..##base') 不为空 删除表 ##base在存储过程中,它不会使用 OdbcDataReader 返回任何数据,否则它会返回数据,有人可以告诉我为什么会这样吗?

谢谢

C# OdbcDataReader storageproc 调用与参数不返回任何数据

请记住,返回到 .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

如果我删除上面的下拉列表语句,我会得到数据,否则没有

如何检查和删除临时表

http://blog.sqlauthority.com/2009/05/17/sql-server-how-to-drop-temp-table-check-existence-of-temp-table/