2010-01-07 5 views
1

J'ai besoin de construire deux objets: un OrderList et un Order. En utilisant ces deux objets, je dois remplir un DataGridView avec un historique des commandes. Cependant, il m'a été demandé de ne pas utiliser de sources de liaison pour la connexion ou d'autres contrôles glisser-déposer. Malheureusement, de Google, il semble que ce sont les options les plus populaires pour ce type de problème.Objets de commande pour la base de données Northwind Access

Quelqu'un peut-il me diriger dans la bonne direction? Je n'ai pas beaucoup d'expérience avec C#.

Merci.

+1

Vérifiez le manuel? – Hogan

+0

Battez-moi ... – atfergs

+0

Il n'y a pas de manuel. – volni

Répondre

6

Vous pourriez créer une Order classe:

public class Order 
{ 
    public int OrderID { get; set; } 
    public DateTime OrderDate { get; set; } 
} 

Lisez vos enregistrements de base de données et charger vos commandes collection

List<Order> orders = new List<Order>(); 
using(SqlConnection cn = new SqlConnection("...")) 
using (SqlCommand cm = cn.CreateCommand()) 
{ 
    cn.Open(); 
    cm.CommandText = "SELECT OrderId, OrderDate FROM Orders"; 
    SqlDataReader dr = cm.ExecuteReader(); 
    while (dr.Read()) 
    { 
     orders.Add(new Order() 
     { 
      OrderId = dr.GetInt32(dr.GetOrdinal("OrderId")), 
      OrderDate = dr.GetDateTime(dr.GetOrdinal("OrderDate")) 
     }); 
    } 
} 

A propos de partie GridView, vous devriez jeter un coup d'oeil dans ASP.NET data binding overview

+0

Bon échantillon de code, merci de ne pas être un abruti et d'aider le gars. +1 – Achilles

+0

Merci Rubens! C'était plus qu'utile! – volni

+0

C'est agréable d'entendre ça, Jack! Bonne chance! –

0

C'est en fait un problème assez trivial. Vous aurez besoin d'utiliser ces choses:

Une fois que vous avez un DataAdapter et son ensemble de données associé, vous pouvez simplement la boucle pour remplir la grille .

0

Vous pouvez lier à n'importe quelle collection de données qui implémente IEnumerable parce que lorsque vous appelez la fonction DataBind() sur la grille, il va parcourir les données et lier la grille à la propriété de chaque objet stocké dans la collection. en utilisant la réflexion) l'objet et en recherchant une propriété qui correspond au DataField spécifié pour chaque champ lié dans la grille.

Questions connexes