c#通过调用存储过程返回表的详细用法

来源:互联网 发布:mysql修改密码语句 编辑:程序博客网 时间:2024/06/05 02:49

通过调用存储过程不但能返回值,还能返回一张表,下面的代码中实现了创建一个临时表,并返回这个表(支持多个)的用法。希望对大家有帮助,

这里还涉及到一个临时表的创建,什么是sql server真正的临时表,并发不冲突的临时表,要让系统建立在tempdb中才是,sql server会自动管理这些临时表

c#代码如下

  1. DataSet ds = new DataSet();
  2. System.Data.OleDb.OleDbCommand cmd = m_TdlyDataAccess.DBConnection.CreateCommand();
  3. cmd.CommandText = "prcTest";
  4. cmd.CommandType = CommandType.StoredProcedure;
  5. System.Data.OleDb.OleDbDataAdapter dap = new System.Data.OleDb.OleDbDataAdapter(cmd);
  6. dap.Fill(ds);

存储过程如下

 

  1. SET QUOTED_IDENTIFIER ON 
  2. GO
  3. SET ANSI_NULLS ON 
  4. GO
  5. CREATE   PROCEDURE [dbo].[prcTest]
  6. AS 
  7. begin  
  8. CREATE TABLE #t(x INT PRIMARY KEY,y int default 0,z int default 0)
  9. INSERT INTO #t VALUES (99,0,0)
  10. INSERT INTO #t VALUES (239,0,0)
  11. INSERT INTO #t VALUES (939,0,0)
  12. select * from #t
  13. drop table #t
  14. end
  15. GO
  16. SET QUOTED_IDENTIFIER OFF 
  17. GO
  18. SET ANSI_NULLS ON 
  19. GO

 

原创粉丝点击