2014-09-21 5 views
0

Я пытаюсь создать хранимую процедуру, которая считывает данные из локальной базы данных и создает объект и возвращает его. Моя проблема заключается в том, что я не работал с хранимыми процедурами, поэтому у меня нет больших знаний об этом.Возврат объекта из хранимой процедуры

Я знаю, как использовать хранимые процедуры для хранения данных в базе данных, но я не знаю, как вернуть данные через хранимые процедуры.

Ниже приведена хранимая процедура, которую я создал для возврата объекта.

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

Я знаю, что выше хранимая процедура выбирает только запись, но, что я хочу сделать, это:

  1. Выберите один рекорд в то время из таблицы рекламного
  2. Создать объект рекламного класса и передать значения, считанные из таблицы рекламы
  3. Возврат объекта
  4. Продолжить описанную выше процедуру до тех пор, пока не будет прочитана полная таблица.

объект Реклама имеет следующие свойства: - тема - содержание

Как я этого добиться? Пожалуйста, помогите, я попытался сделать это сам, но я запутался с возвращающейся частью.

Спасибо за ваше время

+0

почему вы хотите 'Создать объект advertisement' (я думаю как LINQ to SQL)? Без создания этого объекта вы можете прочитать все записи в этой таблице –

+0

, не могли бы вы рассказать мне, как это сделать? Это будет действительно полезно. –

+0

Я отправил ответ попробовать –

ответ

1

попробовать это:

это для сервера SQL и 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) 
      { 

      } 
Смежные вопросы