<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      如何在aspx中得到在存儲過程中的的數值(兼答jspfuns的問題)

      [摘要]這里的存儲過程是在SQL Server 下的存儲過程,由于目前豆腐沒有使用存儲過程,所以豆腐在舉例子的時候使用了SQL2K,估計在Oracle下應該也是一樣的,歡迎大家 和豆腐一起來探討這個問題我們知道在存儲過程中有個被稱做output 的參數,他可以在不同的存儲過程之中互相的傳遞參數,在使用ou...
      這里的存儲過程是在SQL Server 下的存儲過程,由于目前豆腐沒有使用存儲過程,所以豆腐在舉例子的時候
      使用了SQL2K,估計在Oracle下應該也是一樣的,歡迎大家 和豆腐一起來探討這個問題
      我們知道在存儲過程中有個被稱做output 的參數,他可以在不同的存儲過程之中互相的傳遞參數,在使用output 的時候
      要注意下面的情況

      OUTPUT 變量必須在創建表和使用該變量時都進行定義。參數名和變量名不一定要匹配,不過數據類型和參數位置必須匹配
      我們創建一個最簡單的存儲過程
      CREATE PROCEDURE test
      (@subject Varchar(15) Output)
      AS
      select @subject='豆腐制作 都是精品'
      GO
      可是如何取得回掉的參數呢?白思不得其解,后來終于在SQL AnaLyzer 上得到了啟發,
      DECLARE @aa Varchar(10)
      execute test @aa output
      select aa=@aa
      根據這個,我們可在Asp.Net中利用ADO+的多語句處理功能來實現我們的設想,最終通過SQLDataReader 如同
      Select 語句一樣來得到輸出,完整的程序如下。

      <%@ Import Namespace="System.IO" %>
      <%@ Import Namespace="System.Data" %>
      <%@ Import Namespace="System.Data.SQL" %>
      <script language="C#" runat=server>
      protected void Page_Load(Object Src, EventArgs E){
      SQLDataReader dbRead;
      SQLCommand dbComm;
      String strSQL;
      String strConn;
      SQLConnection conn;
      Hashtable Cfg=new Hashtable();
      Cfg = (Hashtable)Context.GetConfig("appsettings");
      strConn=Cfg["Conn"].ToString();
      conn = new SQLConnection(strConn);
      strSQL="DECLARE @aa Varchar(10)\nexecute test @aa output\nselect aa=@aa";
      dbComm = new SQLCommand(strSQL, conn);
      dbComm.ActiveConnection.Open();
      dbComm.Execute(out dbRead);
      dbRead.Read();
      showmsg.Text=dbRead["aa"].ToString();
      }
      </script>
      <html>
      <head>
      <title>測試存儲過程</title>
      </head>
      <body>
      <asp:Label id=showmsg runat=server />
      </body>
      </html>
      其實,豆腐在實際的應用中一般是很少使用output 參數的,豆腐一般都是這樣使用的:
      存儲過程 的內容如下:
      CREATE PROCEDURE test
      AS
      select @subject='豆腐制作 都是精品'
      select aa=@subject
      GO
      就是在 存儲過程 的最后依據利用 Select 讓存儲過程返回一個記錄集合,然后我們就可以把這個存儲過程
      看作是一個 select 語句來處理了,這樣下來,asp.Net 的SQL 語句就變成了
      strSQL="test";
      其他的內容都變化,一樣可以得到相同的效果





      日韩精品一区二区三区高清