2016-07-29 6 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`この1行のセルの各値を取得し、この値を配列as1に与えます。

例: "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++; 
     } 
    } 
} 
関連する問題