Entwickler-Ecke
C# - Die Sprache - Wo ist der Fehler in der Methode?
Felix2000 - Mo 31.10.11 15:19
Titel: Wo ist der Fehler in der Methode?
Hi Folks !
Ich habe hier eine noch recht übersichtliche Methode, bei der während der Kompilierung ein Fehler auftritt, den ich nicht ganz verstehe. Sinn der Methode ist es eine Datenbankverbdinung zu einem MySql Datenbanksystem aufzubauen und etwas vom Typ MySqlConnection zurückzugeben. Hier der Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| MySqlConnection erzeugeDatenbankverbindung() { MySqlConnection connection = null;
try { string myConnectionString = "Server = localhost; Port = 3306; Database = formulardaten; Uid = ; Pwd = ;";
connection = new MySqlConnection(myConnectionString); } catch(MySqlException e) { this.Label1_Hinweisfeld.Text = e.Message; }
if (connection != null) { return connection; } } |
Ich erhalte die Fehlermeldung: "Nicht alle Codepfade geben einen Wert zurück."
Was genau mache ich hier falsch?
Greetz
Felix
mats74 - Mo 31.10.11 15:34
Hallo Felix2000
Bei der If-Anweisung fehlt der Return-Wert, wenn der Fall "== null" eintritt.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| if (connextion != null) { return connection; } else { return "irgendetwas"; } |
Daher kommt der erwähnte Fehler.
Felix2000 - Mo 31.10.11 15:36
ah ok danke, ich frage mich jetzt allerdings, was genau ich da im else zweig zurückgeben könnte, wenn kein Objekt vom Typ MySqlConnection erzeugt werden konnte? Also wie ich das konkret im Code schrreiben könnte.
mats74 - Mo 31.10.11 15:41
Am einfachsten lässt Du die If-Anweisung weg und gibst immer den Wert "connection" zurück.
Beim Aufruf dieser Methode prüfst Du dann den Rückgabewert ensprechend auf "null".
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!