2014-09-21 93 views
0

我想創建一個存儲過程,它從本地數據庫讀取數據並創建一個對象並將其返回。我的問題是我沒有使用存儲過程,所以我沒有太多的知識。從存儲過程返回一個對象

我知道如何使用存儲過程將數據存儲到數據庫,但我不知道如何通過存儲過程返回數據。

下面是我創建的存儲過程來返回一個對象。

CREATE PROCEDURE [dbo].[get_Advertisements] 
AS 
BEGIN 
    Select * From Advertisements;   
END 

我知道上面的存儲過程只選擇記錄,但我想要做的是:在從該廣告表

  • 時間

    1. 選擇一個記錄創建廣告類的一個對象並傳遞從廣告表中讀取的值
    2. 返回對象
    3. 繼續上述過程,直到讀取完整表格。

    廣告對象具有以下屬性: - 專題 - 內容

    我如何實現這一目標?請幫助,我試圖自己做,但我很困惑與返回部分。

    謝謝您的時間

  • +0

    你爲什麼要'創建advertisement'的對象(我認爲像LINQ to SQL)?沒有創建該對象,你可以閱讀表格中的所有記錄 – 2014-09-21 19:32:07

    +0

    你能告訴我該怎麼做嗎?這將是非常有用的。 – 2014-09-21 19:38:06

    +0

    我張貼答案試試吧 – 2014-09-21 19:47:09

    回答

    1

    試試這個:

    這是SQL Server和ASP.NET

    string connetionString = null; 
          SqlConnection sqlCnn ; 
          SqlCommand sqlCmd ; 
          SqlDataAdapter adapter = new SqlDataAdapter(); 
          DataTable ds = new DataTable(); 
          int i = 0; 
          string sql = null; 
    
          connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"; 
    // this should be always in web.config file 
          sql = "Select * from Advertisements"; 
    
          sqlCnn = new SqlConnection(connetionString); 
          try 
          { 
           sqlCnn.Open(); 
           sqlCmd = new SqlCommand(sql, sqlCnn); 
           adapter.SelectCommand = sqlCmd; 
           adapter.Fill(ds); 
    
    
           adapter.Dispose(); 
           sqlCmd.Dispose(); 
           sqlCnn.Close(); 
    
    
    //in ds You will get a Table 
        foreach(DataRow row in thisTable.Rows) 
         { 
          foreach(DataColumn column in thisTable.Columns) 
          { 
           Response.write((row[column]+"</br>"); 
    // read all values of table 
          } 
        } 
    
          } 
          catch (Exception ex) 
          { 
    
          }