Bonjour,
Dans mon projet j'ai créé une classe DatabaseConnexion implémentant une méthode executeCommand recevant en paramètre la commande sql a exécuter.
Je souhaiterais que cette méthode me renvoie un string ayant pour valeur le résultat de la requête sql. Le problème c'est que je ne sais pas comment faire concernant la gestion des exceptions. La clause catch n'a pas besoins de me renvoyer de string car sont seul but est d'afficher un message d'erreur et de quitter l'application. Elle ne contient donc aucun "return" mais forcément Visual Studio gueule et m'affiche l'erreur suivante : "tous les chemins de code ne retournent pas nécessairement une valeur".
J'ai pensé à remplacer le environment.exit() par un truc du genre return "erreur" et tester la valeur de retour de la méthode par la suite mais je souhaiterais savoir si il existe un meilleur moyen de gérer cela car ca me parait un peu alambiqué...
Ci dessous le code de ma classe :
PS : si vous avez des remarques pertinentes concernant le contenu de ma classe je suis bien sur preneur... sachant que cette classe n'est destiné pour le moment qu'a faire des select dans la base de données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 class DatabaseConnexion { private string connectionString; public DatabaseConnexion(string connStr) { connectionString = connStr; } public string executeCommand(string sqlCommand) { OdbcConnection myOdbcConnection = null; OdbcDataReader myReader = null; string line = ""; int i; try { myOdbcConnection = new OdbcConnection(connectionString); myOdbcConnection.Open(); OdbcCommand myOdbcCommand = new OdbcCommand(sqlCommand); myOdbcCommand.Connection = myOdbcConnection; myReader = myOdbcCommand.ExecuteReader(); while (myReader.Read()) { line = ""; for (i = 0; i < myReader.FieldCount; i++) { line += myReader[i]; } Console.Out.WriteLine(line); } return line; } catch (Exception ex) { Console.Error.WriteLine("Erreur d'exploitation de la base de données " + ex.Message + ")"); Environment.Exit(2); } finally { try { myReader.Close(); myOdbcConnection.Close(); } catch { } } } }
Merci
Partager