Bonjour,
J'utilise SQL Server 2005, je peux insérer des données dans ma BD sans problème. Seulement, j'aimerais pouvoir récupérer l'ID (auto-incrémenté dans la BD) du dernier INSERT effectué par le programme.
J'ai déjà essayé d'utiliser @@IDENTITY ou SELECT MAX(Id) FROM MaTable par exemple, mais à chaque fois, ces solutions me renvoient 0, 1 ou bien rien du tout.
De même si je créé un autre objet QSqlQuery dans le if.
Table dbo.Vehicule (Id_Vehicule, immatriculatio, tare)
Si quelqu'un a une idée, parce qu'un peu partout, je vois parler de @@IDENTITY ou SCOPE_IDENTITY(), mais rien ne fonctionne comme désiré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 int AccesBD::insertVehicule(QString immatriculation, float tare) { int newId = -1; QSqlQuery query; if(query.exec(QString("INSERT INTO [dbo].[Vehicule] VALUES('%1','%2')").arg(immatriculation).arg(tare))) { QSqlQuery query("SELECT MAX(Id_vehicule) FROM [dbo].[Vehicule]"); query.next(); newId = query.value(0).toInt(); } return newId; }
Partager