acid18 Δημοσ. 16 Μαρτίου 2013 Share Δημοσ. 16 Μαρτίου 2013 Αν έχουμε μια κλάση πχ class test { public string name; public test(string name_) { this.name = name_; } } και έχουμε κάποιο αντικείμενο temp αυτό εδώ temp.name = "kapia timi" δημιουργεί null reference exception γιατί γίνεται αυτό? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 16 Μαρτίου 2013 Share Δημοσ. 16 Μαρτίου 2013 Πρέπει να έχεις δημιουργήσει πρώτα το temp με new test temp = new test("timi"); temp.name="alli timi"; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
acid18 Δημοσ. 16 Μαρτίου 2013 Μέλος Share Δημοσ. 16 Μαρτίου 2013 ναι το ξέρω αυτό εννοείται, έχει καμιά σημασία που η ανάθεση γίνεται σε while loop? αυτός είναι ο κώδικας student temp = new student(); List<student> students = new List<student>(); string sql = "select * from student"; SqlCeConnection con = new SqlCeConnection(@"DataSource=MyDatabase#1.sdf"); con.Open(); SqlCeCommand cmd = new SqlCeCommand(sql, con); SqlCeDataReader reader = cmd.ExecuteReader(); int i = 0; while (reader.Read()) { // ΑΥΤΟ ΛΕΙΤΟΥΡΓΕΙ student temp = new student(reader["fname"].ToString(), reader["lname"].ToString(), reader["bdate"].ToString()); temp.fname = reader["fname"].ToString(); //temp.lname = reader["lname"].ToString(); // temp.bdate = reader["bdate"].ToString(); students.Add(temp); temp = null; i++; } // MessageBox.Show(students.ElementAt(0).fname); // MessageBox.Show(students.ElementAt(0).lname); con.Close(); return students; } } } Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 16 Μαρτίου 2013 Share Δημοσ. 16 Μαρτίου 2013 Βγάλε temp=null απο το loop. Μετά το πρώτο loop είναι πλέον null. Επίσης πρέπει να δημιουργείς νέο temp κάθε φορά στη while, αλλιώς όλα τα στοιχεία της λίστας έχουν (αναφορά στο) το ίδιο αντικείμενο. Αυτό που προστέθηκε τελευταίο. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
acid18 Δημοσ. 16 Μαρτίου 2013 Μέλος Share Δημοσ. 16 Μαρτίου 2013 thanx λειτούργησε. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
παπι Δημοσ. 16 Μαρτίου 2013 Share Δημοσ. 16 Μαρτίου 2013 1) Δες properties 2) Εφοσον εχεις constructor που παιρνει τα στοιχεια τοτε μπορεις απλα να κανεις students.Add(new Student("name", etc)) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
acid18 Δημοσ. 16 Μαρτίου 2013 Μέλος Share Δημοσ. 16 Μαρτίου 2013 1) Δες properties 2) Εφοσον εχεις constructor που παιρνει τα στοιχεια τοτε μπορεις απλα να κανεις students.Add(new Student("name", etc)) στο 2 εννοείς να το κάνω έτσι students.Add(new student(reader["fname"].ToString(), reader["lname"].ToString(), reader["bdate"].ToString())? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
παπι Δημοσ. 16 Μαρτίου 2013 Share Δημοσ. 16 Μαρτίου 2013 Αμε, γιατι οχι; Βεβαια υπαρχει και το LINQ2SQL. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
acid18 Δημοσ. 16 Μαρτίου 2013 Μέλος Share Δημοσ. 16 Μαρτίου 2013 Πριν το είχα κάνει με αυτόν τρόπο επειδή δεν λειτουργούσε ο τρόπος που έχω τώρα. Η αλήθεια είναι ότι τώρα διαβάζω για την c# (γενικά .net) και προσπαθώ να κάνω διάφορα και linq δεν είδα ακόμα.. Το βιβλίο είναι Visual C# 2008 Βήμα βήμα. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
παπι Δημοσ. 16 Μαρτίου 2013 Share Δημοσ. 16 Μαρτίου 2013 Χαλαρα, ειναι ευκολη γλωσσα και κυριως διασκεδαστικη. Καλη συνεχεια Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα