让我详细解释一下我所拥有的场景以及我正在寻找的解决方案。首先,我创建了一个存储过程,它输出简单的东西,例如 2 个表和一条消息“不要停在这里”
T-SQL:
USE [mydb]
GO
/****** Object: StoredProcedure [dbo].[BackupDatabase] Script Date: 2/26/2013 11:29:10 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create PROCEDURE [dbo].[testing]
AS
BEGIN
select 'A' firstname, 'B' lastname;
print 'dont stop here'
select 1 final
END
到目前为止,我曾经使用 datarowcollection 类以单一方式重新检索表,我的静态方法如下所示:
C#:
public static class DataMan
{
public static DataRowCollection SelectData(string sql)
{
SqlDataSource DS = new SqlDataSource(CS, sql);
return ((DataView)DS.Select(DataSourceSelectArguments.Empty)).ToTable().Rows;
}
public static string CS = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
}
在这里我可以很容易地得到我需要的东西,并找到我想要的任何行:
DataRowCollection people = Util.SelectData("Select * from students")
但现在我打算创建一个存储过程,就像我上面提到的那样,做这样的事情,例如:
**DataTableCollection** people = Util.SelectData("exec dbo.Testing")
更新:
所以我可以从我的存储过程中找到特定的表。
我曾尝试使用 DataTable、DataSet、DataTableCollections 但没有成功。我无法以正确的方式使用它们。
请帮我
谢谢你