ich ziemlich neu zu C# und asp.net so plz sagen Sie mir, wenn ich Ihnen wenig Info für meine Frage geben.Objektreferenz nicht auf eine Instanz eines Objekts festgelegt, kann nicht herausfinden, warum
Wenn sich ein Benutzer anmeldet, erstelle ich eine Instanz meines User-Objekts und rufe meine getcategories-Methode und den Redirect-Benutzer auf eine andere Seite auf. Wie folgt aus:
if (dt.Rows.Count > 0){
user apa = new user();
apa.namn = dt.Rows[0]["FirstName"].ToString() + " " + dt.Rows[0]["LastName"].ToString();
apa.mail = dt.Rows[0]["Email"].ToString();
apa.id = dt.Rows[0]["ID"].ToString();
apa.firstname = dt.Rows[0]["FirstName"].ToString();
apa.lastnamn = dt.Rows[0]["LastName"].ToString();
apa.password = dt.Rows[0]["Password"].ToString();
Session["user"] = apa;
apa.getcategories();
Response.Redirect("visainlagg.aspx");
}
Das Problem ist, dass ich "Objektverweis nicht auf eine Instanz eines Objekts" -Fehler erhalten auf "Kategorier [i] .Name = dt.Rows [i] [" Name "] .ToString(); (Das erste, was passiert in meiner for-Schleife in der Benutzerklasse). Ich verstehe nicht, warum :(
Dies ist, wie die User-Klasse wie folgt aussieht:
public string namn;
public string mail;
public string id;
public string firstname;
public string lastname;
public string password;
public string constr = "secret";
public Post[] poster;
public anvcateg[] kategorier;
public int antalKategorier;
public void getcategories() {
SqlConnection conn = new SqlConnection();
conn.ConnectionString = constr;
SqlCommand com = new SqlCommand();
com.Connection = conn;
com.CommandText = "SELECT * FROM Category WHERE Author= '" + id + "'";
SqlDataAdapter adp = new SqlDataAdapter();
adp.SelectCommand = com;
DataTable dt = new DataTable();
adp.Fill(dt);
antalKategorier = dt.Rows.Count;
kategorier = new anvcateg[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
kategorier[i].Name = dt.Rows[i]["Name"].ToString();
kategorier[i].ID = dt.Rows[i]["ID"].ToString();
kategorier[i].Description = dt.Rows[i]["Description"].ToString();
kategorier[i].Author = dt.Rows[i]["Author"].ToString();
}
}
der anvcateg Klasse, die GetCategories() wird wie folgt aussieht mit:
public class anvcateg
{
public string ID;
public string Name;
public string Description;
public string Author;
möglich Duplikat hinzufügen von [Was ist eine NullReferenceException in .NET?] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net) –
nach adp.Fill (dt), sagen Sie uns, was ist DT und wie viele Zeilen hat es –
Und es tut nicht die Verbindung nicht korrekt herstellen –