Keine anzeige der Daten aus der Datenbank



  • Habe eine Tabelle in einer Datenbank erstellt. Jetzt will ich die Tabelle auslesen und anzeigen lassen. Aber es werden keine Daten angezeigt, wo ist der fehler?
    Die Tabelle in der SQL Datenbank:

    USE [DB_ASSIG]
    GO
    
    CREATE TABLE Test(
    ProductID int IDENTITY (1,1) PRIMARY KEY,
    NameOfProduct nvarchar(30) NOT NULL,
    Manufacturer nvarchar(30) NOT NULL,
    )
    
    INSERT INTO Test VALUES 
    (N'Facial_Cleansing_Brush',N'Loreal'),
    (N'Makeup',N'Nivea'),
    (N'Lipstick',N'Dove'),
    (N'Comb',N'Chanel'),
    (N'Hairdryer',N'Schwarzkopf'),
    (N'Cream',N'Olay');
    

    Die Verbindung in der Web.config:

    <connectionStrings>
        <add name="Test" connectionString="Data Source=localhost;Initial Catalog=DB_ASSIG;Integrated Security=SSPI"/>
      </connectionStrings>
    

    Die Klasse zum auslesen der Daten:

    public class Cosmetic
        {
            public string NameOfProduct { get; set; }
            public string Manufacturer { get; set; }
            public int ProductID { get; set; }
    
            public static List<Cosmetic> ReadData()
            {
                List<Cosmetic> AllProduct = new List<Cosmetic>();
    
                SqlConnection conn = new SqlConnection();
                conn.ConnectionString = WebConfigurationManager.ConnectionStrings["Test"].ConnectionString;
    
                try
                {
                    using (conn)
                    {
                        conn.Open();
                        SqlCommand cmd = new SqlCommand("SELECT ProductID,NameOfProduct,Manufacturer FROM Test", conn);
    
                        Cosmetic cosmetic = null;
    
                        using (SqlDataReader read = cmd.ExecuteReader())
                        {
                            while(read.Read())
                            {
                                cosmetic = new Cosmetic();
                                cosmetic.ProductID = Convert.ToInt32(read["ProductID"]);
                                cosmetic.NameOfProduct = read["NameOfProduct"].ToString();
                                cosmetic.Manufacturer = read["Manufacturer"].ToString();
    
                                AllProduct.Add(cosmetic);
                            }
                        }
    
                    }
    
                }
                catch (Exception)
                {
    
                }
    
                return AllProduct;
            }
        }
    

    Die Webseite zum anzeigen der Daten, denke hier ist der Fehler:

    public partial class ViewandAdmin : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                loadData();
            }
    
            private void loadData()
            {
                List<Cosmetic> cosmetics = Cosmetic.ReadData();
    
                foreach (Cosmetic item in cosmetics)
                {
                    HtmlGenericControl cosmeticData = new HtmlGenericControl();
    
                    cosmeticData.TagName = "div";
                    cosmeticData.Attributes["class"] = "cosmeticData";
    
                    Label nameOfProduct = new Label();
                    nameOfProduct.Text = item.NameOfProduct + "," + item.Manufacturer;
    
                    cosmeticData.Controls.Add(nameOfProduct);
                    CosmeticPanel.Controls.Add(cosmeticData);
                }
            }
        }
    


  • Wird evtl. eine Exception geworfen (welche du zwar fängst, aber nicht behandelst!)?



  • Problem gelöst, der Fehler wahr im Connection String. Statt localhost wird .SQLEXPRESS verwendet und die Daten werden angezeigt.


Log in to reply