程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#調用存儲過程(帶返回值)和SQL Server DTS的方法(1)

C#調用存儲過程(帶返回值)和SQL Server DTS的方法(1)

編輯:關於C語言
程序開發中,我們經常要做的事就是訪問資料庫.有時候會調用存儲過程和DTS,下面就此給出例子來說明如何實現

第一部分 調用存儲過程(帶入參數和取得返回值)

1.調用SQL Server的存儲過程

假如我們有如下一個存儲過程,很簡單的實現,只是將兩個傳進來值做加法處理然後返回

CREATE PROCEDURE AddMethoD
(
  @returnvalue int OUTPUT,   --返回結果
  @Parameter_1 int,          --參數一
  @Parameter_2 int           --參數二
)
AS
-----------------------------------------------
set @returnvalue = @Parameter_1 + @Parameter_2
RETURN @returnvalue
-------------------------------------------------
GO
以下是在c#中調用此存儲過程的代碼

private int TestProcedure()
    {
      System.Random rnd = new Random();
      string constr = "Data Source=localhost;initial catalog=testdb;user id=sa;passWord=sa;connect timeout=3000";
      SqlConnection conn = new SqlConnection(constr);
      conn.Open();
      SqlCommand cmd = new SqlCommand();
      cmd.Connection = conn;
      cmd.CommandText = "AddMethod";
      cmd.CommandType = CommandType.StoredProcedure;
      //參數一
      SqlParameter parameter_1 = new SqlParameter("@Parameter_1",SqlDbType.Int);
      parameter_1.Direction = ParameterDirection.Input;
      parameter_1.Value = (int)(rnd.NextDouble() * 100);
      //參數二
      SqlParameter parameter_2 = new SqlParameter("@Parameter_2",SqlDbType.Int);
      parameter_2.Direction = ParameterDirection.Input;
      parameter_2.Value = (int)(rnd.NextDouble() * 100);
      //返回值
      SqlParameter returnValue = new SqlParameter("@returnValue",SqlDbType.Int);
      returnValue.Direction = ParameterDirection.Output;
      cmd.Parameters.Add(returnValue);
      cmd.Parameters.Add(parameter_1);
      cmd.Parameters.Add(parameter_2);
      try
      {
        cmd.ExecuteNonQuery();
      }
      finally
      {
        conn.Close();
      }
      return (int)returnValue.Value;
    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved