C# 如何使用存储过程返回视图数据

C# 如何使用存储过程返回视图数据,c#,sql,sql-server,sql-view,C#,Sql,Sql Server,Sql View,Hi friends要求使用存储过程返回视图中的所有值 目前,我们有一个StoredProcess来返回给定表中的所有值 CREATE PROCEDURE [dbo].[SuperGas_GetAllEmployees] AS BEGIN SELECT [Employee ID] ,[First Name] ,[Last Name] ,[Group] ,[Location] ,[DOB] ,[DOJ]

Hi friends要求使用存储过程返回视图中的所有值

目前,我们有一个StoredProcess来返回给定表中的所有值

CREATE PROCEDURE [dbo].[SuperGas_GetAllEmployees] 
    AS
BEGIN

SELECT [Employee ID]
      ,[First Name]
      ,[Last Name]
      ,[Group]
      ,[Location]
      ,[DOB]
      ,[DOJ]
      ,[Manager]
      ,[Projects]
      ,[Phone]
      ,[Extension]
  FROM [SuperGas].[dbo].[Employee]
END
CREATE VIEW [dbo].[ExpenseView] AS
SELECT Emp.[Employee ID], Emp.[First Name],Emp.[Last Name],Emp.Manager, Ep.[Expense Type],Ep.[Expense Amount],Ep.[Expense Date]
FROM [Employee Expense] as Ep
FULL JOIN Employee as Emp
ON EP.[Employee ID] = Emp.[Employee ID]
我们通过连接两个名为ExpenseView的表创建了一个视图

CREATE PROCEDURE [dbo].[SuperGas_GetAllEmployees] 
    AS
BEGIN

SELECT [Employee ID]
      ,[First Name]
      ,[Last Name]
      ,[Group]
      ,[Location]
      ,[DOB]
      ,[DOJ]
      ,[Manager]
      ,[Projects]
      ,[Phone]
      ,[Extension]
  FROM [SuperGas].[dbo].[Employee]
END
CREATE VIEW [dbo].[ExpenseView] AS
SELECT Emp.[Employee ID], Emp.[First Name],Emp.[Last Name],Emp.Manager, Ep.[Expense Type],Ep.[Expense Amount],Ep.[Expense Date]
FROM [Employee Expense] as Ep
FULL JOIN Employee as Emp
ON EP.[Employee ID] = Emp.[Employee ID]
现在,这里的问题与第一个存储过程类似,如何使用存储过程返回上述视图(费用)的所有列。 我们尝试使用与第一个程序相同的方法;但是,在查询中未标识视图ExpenseView

历史,

从我之前的问题中我了解到,将view与StoredProcess结合使用是不好的

但是,我们的应用程序使用下面的c#代码通过存储过程从数据库中获取数据

string spName = "SuperGas_GetAllEmployees";

 DataSet ds = GetDatasetFromAdapter(spName);
改变这一点需要大量的时间和额外的编码资源。因此,是否有任何方法可以返回整个视图(就像我们在给定的过程SuperGas_GetAllEmployees for Tables中所做的那样),以便使用当前代码本身

谢谢你的帮助

编辑…

CREATE PROCEDURE [dbo].[SuperGas_GetAllExpenseView] 
    AS
BEGIN

    SELECT [Employee ID]
      ,[First Name]
      ,[Last Name]
      ,[Manager]
      ,[Expense Type]
      ,[Expense Amount]
      ,[Expense Date]
  FROM [SuperGas].[dbo].[ExpenseView]
END

GO
在这里,我得到了字段Expense Type、Expense Amount、Expense Date和视图名称ExpenseView的错误信息

请帮帮我

CREATE VIEW [dbo].[ExpenseView] AS
实际上视图是在哪里创建的?在存储过程中,使用[SuperGas].[dbo].[ExpenseView]中的


请确保视图位于
[SuperGas]

的内部。您是否可以发布您试图创建的过程的代码,该过程从视图中进行选择?该代码与表中的代码相同。你是什么意思
查询中没有识别View ExpenseView。
确保我编辑问题的方式与我编辑问题的方式相同。为什么你会这样想“从我之前的问题中我了解到,将View与StoredProcess一起使用是不好的”?作为SQL查询表或视图的结果获取数据集与作为SP的结果获取数据集之间没有区别(好的,是这样,但从代码的角度来看,差别很小)。您得到了哪些错误?顺便说一句,这样问对你没有帮助-我有一个问题,请帮助我。谢谢你的时间,我很抱歉这是我的错误,虽然我得到了错误无效的对象,如果我执行的过程,它将工作,因为我得到的错误,我没有执行和检查。很抱歉给您带来不便。你能告诉我如何结束这个问题吗?@Jithu很好。如果我的回答有助于你发现错误,请你投赞成票并接受我的回答。我将投票结束这一问题。要结束你的问题,总共需要投5票。我很乐意,但是我无法投票支持这个问题,因为我没有15票的最低声誉。顺便说一下,我会接受你的回答。