C# Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.?


13.11.2021, 16:04

in dem Code ist der abschnitt mit "Edit". Ich verstehe nicht ganz woran es scheitert. Würde mich um Hilfen freuen.

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Ich würde den Fehler erstmal eingrenzen, in dem ich mit

try {
	Con.Open();
} catch (Exception Ex) {
	MessageBox.Show(Ex.Message);
}

Anfange und dann Zeile für Zeile hinzufüge und gucke, wo genau der Fehler ausgelöst wird.

Ich vermute den Fehler bei Objekt Con oder dem Funktionsaufruf populate().


DerEinsiedler  13.11.2021, 17:41

Den Debugger zu benutzen ist da doch viel einfacher 🙃

0
GuteAntwort2021  13.11.2021, 17:46
@DerEinsiedler

Schon, aber manchmal entstehen Fehler erst im Zusammenspiel von 2 Zeilen. Wenn der Fehler also nicht direkt ersichtlich ist, ist das eine bewährte Methode zum Ermitteln von Errors. Zumal es abhängig davon ist, was der Debugger genau ausgibt.

Wenn es so offensichtlich ist für den Debugger, hätte die Exception e ja auch einfach beinhalten können: "ToString() not possible because EmpPosTB.SelectedItem is null!"

0
synthax68228 
Beitragsersteller
 13.11.2021, 16:24

Also ich habe es jetzt mal schrittweise gemacht und erst bei ""',emppos='" + EmpPosTB.SelectedItem.ToString() +" popt der fehler auf.

0
GuteAntwort2021  13.11.2021, 16:28
@synthax68228

Dann scheint die Methode ToString() nicht zu funktionieren, da EmpPosTB.SelectedItem nicht existiert bzw. null ist.

0

Unabhängig von dem Fehler:

Dein Code ist für SQL-Injections anfällig. Benutze die sicherlich vorhandenen Funktionen um Variablen anzugeben, so kann jeder der eines dieser Felder kontrolliert deine Datenbank mit den Rechten des Programmes verändern.

Woher ich das weiß:Berufserfahrung – Softwareentwicklerin

In welcher Zeile genau entsteht der Fehler?

Das passiert immer wenn ein Objekt nicht existiert (null ist) und du mit

objekt.methode()

darauf zugreifen willst.


synthax68228 
Beitragsersteller
 13.11.2021, 16:24

Also ich habe es jetzt mal schrittweise gemacht und erst bei ""',emppos='" + EmpPosTB.SelectedItem.ToString() +" popt der fehler auf.

0
synthax68228 
Beitragsersteller
 13.11.2021, 16:49
@DerEinsiedler

Eigentlich nicht.. Hab VS neu gestartet ging immer noch nicht, hab die Zeilen gelöscht nochmals 1zu1 hinzugefügt und auf einmal ging es... ich verstehe es manchmal nicht haha.. danke dir trotzdem

0
DerEinsiedler  13.11.2021, 16:52
@synthax68228

Beim nächsten mal einfach im Debugmodus starten dann kannst du zum Absturzzeitpunkt genau nachsehen welches objekt null ist

1