2016-07-29 4 views
0

Мне нужно написать простой класс на C#. У меня 2 таблицы. Но для понимания я использую только 1 таблицу.. Чистое подключение .NET SQL Server с процедурой

public string[] GetCustOrders(int CustomerCODE) 
{ 
    SqlConnection myConn = new SqlConnection("server=(local);Initial Catalog=dbName;Integrated Security=True"); 

    SqlDataAdapter myData = new SqlDataAdapter("CustOrdersOrdersDetails", myConn); 
    myData.SelectCommand.CommandType = CommandType.StoredProcedure; 
    myData.SelectCommand.Parameters.Add(new SqlParameter("@CustomerCODE", SqlDbType.Int, 0)); 
    myData.SelectCommand.Parameters["@CustomerCODE"].Value = CustomerCODE; 

    // string[] as = string[6]; 
    string[] as1 = string[3]; 
    //  string[] as2 = string[3]; 

    DataSet ds = new DataSet(); 
    myData.Fill(ds); 

    return as; 
} 

И мой код хранимой процедуры:

CREATE PROCEDURE CustOrdersOrdersDetails 
    @CustomerCODE int 
AS 
    SELECT 
     Name, 
     Action, 
     Comments 
    FROM 
     System2 
    WHERE 
     Code = @CustomerCODE 

Хранимая процедура будет выбрать только 1 строку из таблицы. Но я дона t know how from SqlDataAdapter` получает каждое значение ячейки этой одной строки и дает это значение для моего массива as1.

Ex., "As [1] =" и after = Мне нужно указать значение Action из выбранной строки.

Я знаю это просто, но я думаю ... и думаю, что я могу это сделать, просто передайте все значения моей строки в DataSet и после этого дайте каждому значению каждой ячейки каждой строке из моего массива. Но я лоток и не могу закончить этот класс ...

Может ли кто-нибудь помочь?

ответ

0
int i = 0;  
// For each table in the DataSet, print the row values. 
foreach(DataTable table in ds.Tables) 
{ 
    foreach(DataRow row in table.Rows) 
    { 
     foreach (DataColumn column in table.Columns) 
     { 
      as[i]=row[column]); 
      i++; 
     } 
    } 
} 
Смежные вопросы