2016-07-29 7 views
0

Ich brauche einfache Klasse in C# schreiben. Ich habe 2 Tische. Aber zum Verständnis verwende ich nur einen Tisch..Net SQL Server Verbindung einfache Klasse mit Verfahren

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; 
} 

Und mein Code der gespeicherten Prozedur:

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

Die gespeicherte Prozedur wird nur 1 Zeile aus der Tabelle auswählen. Aber ich don t know how from SqlDataAdapter` get jeder Wert der Zelle dieser einen Zeile und geben Sie diesen Wert für mein Array as1.

Ex., "Als [1] =" und nach = Ich brauche den Wert der Aktion aus der ausgewählten Zeile.

Ich weiß dies einfach, aber ich denke ... und denke, dass ich dies tun kann, geben Sie einfach alle Werte meiner Zeile an das DataSet und danach geben Sie jeden Wert jeder Zelle zu jeder Zeichenfolge aus meinem Array. Aber ich trage und kann diese Klasse nicht beenden ...

Kann mir jemand helfen?

Antwort

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++; 
     } 
    } 
}