Je suis en train de sélectionner food_ItemName
et food_UnitPrice
de t_Food
table dans SQL Server 2005 en utilisant C# et VS 2008.SqlDataReader C#, SQL Server 2005, VS 2008
Je le code suivant:
private SqlConnection connection; private void GetDatabaseConnection() { string connectionString = @"Server = RZS-F839AD139AA\SQLEXPRESS; Integrated Security = SSPI; Database = HotelCustomerManagementDatabase"; connection = new SqlConnection(connectionString); connection.Open(); } public Food PopulateFoodItemListview() { GetDatabaseConnection(); string selectFoodItemQuery = @"SELECT food_ItemName, food_UnitPrice FROM t_Food"; SqlCommand command = new SqlCommand(selectFoodItemQuery, connection); SqlDataReader reader = command.ExecuteReader(); Food food = new Food(); List foodList = new List(); while (reader.Read()) { food.ItemName.Add(reader.GetString(0)); MessageBox.Show("ItemName: "+ food.ItemName); food.UnitPrice.Add(reader.GetDouble(1)); MessageBox.Show("UnitPrice: " + food.UnitPrice); } connection.Close(); return food; }
et dans la classe Food
je le code suivant:
public class Food { private List itemName = new List(); private List unitPrice = new List(); private double itemUnit; private Customer foodCustomer = new Customer(); public List ItemName { get { return itemName; } set { itemName = value ; } } public List UnitPrice { get { return unitPrice; } set { unitPrice = value; } } public double ItemUnit { get { return itemUnit; } set { itemUnit = value; } } public double GetItemPrice(double itemUnit, double unitPrice) { double itemPrice = itemUnit*unitPrice; return itemPrice; } }
en messageBox il censé montrer Rice, Mutton , Boeuf et leur prix 50, 100, 150. Mais il montre ItemName: System.Collections.Generic.List`1[System.String]
et ItemName: System.Collections.Generic.List`1[System.Double]
Quel est le problème?
Obtenez-vous des erreurs? Votre requête SQL renvoie-t-elle les données souhaitées? –
Juste une note, c'est une bonne pratique d'utiliser des collections génériques quand vous le pouvez. Il est préférable de ne pas fournir de setters aux propriétés qui exposent ces collections. – Marc
@towhidulbashar - bienvenue sur stackoverflow. Juste pour vous faire savoir que vous voudrez peut-être passer par toutes vos questions et marquer une réponse que vous avez utilisée comme étant acceptée. La communauté est habituellement au travail mais les utilisateurs de la communauté prennent toujours le temps de répondre aux questions sur ce site. Donc, il est certainement la bonne chose à faire est de marquer toutes vos questions qui sont résolues avec une réponse acceptée. – JonH