Bonjour a tous,
Alors voila mon problème, j'ai créé un logiciel en c# avec visual studio qui exploite une base de données. Le but est de savoir avec quoi est équipé un bureau et où il se situe.
Mon problème se pose lorsque je souhaite récupérer le plus grand ID_poste qui est la clef primaire de la table et qui est aussi en auto incrémentation.
Je pense que cette explication devrait suffire pour comprendre le bout de code qui ne fonctionne pas.
PS: le message d'erreur est le suivant:
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 SqlConnection myConnection; SqlCommand myCommand; string myConnectionString; myConnectionString = "user id=sa;password=password69;initial catalog=Config_bureau;data source=JO-PC\\SQLEXPRESSMAJ;Connect Timeout=10;"; // chaine de connection a la bdd string strRequete = "SELECT MAX (ID_poste) AS max FROM dbo.Poste;"; // la fameuse requete int id_poste = 0; try { myConnection = new SqlConnection(myConnectionString); myConnection.Open(); myCommand = new SqlCommand(strRequete, myConnection); SqlDataReader mySqDataReader = myCommand.ExecuteReader(); { if (mySqDataReader["ID_poste"] != System.DBNull.Value) { id_poste = (Int32)mySqDataReader["ID_Poste"]; } } myConnection.Close(); } finally { tb_ajout_peri_ID_poste.Text = Convert.ToString(id_poste); // cette partie sert a ce que la text box soit pré-rempli }Or je ne vois pas pourquoi je devrais récupérer avec une liste ou un tableau cette info. (j'ai déjà essayé la requête sur ma base de données et elle fonctionne)L'exception IndexOutOfRangeExecption n'a pas été gérer. Il pointe sur la condition if (mySqDataReader["ID_poste"] != System.DBNull.Value).
Merci pour le temps passé à lire ce message
Partager