-
[MFC - SQL]
Bonjour,
j'essaie de développer actuellement une application MFC qui pilote des bases via ODBC - SQL.
Je me trouve confronté à un problème avec les CRecordSet :
Dans ma base certaines tables possèdent des champs auto incrémentés. Ma base se trouve sur des serveurs MSDE ou Interbase, donc pas de soucis pour l'autoincrementation, cela se fait correctement.
Maintenant lorsque j'utilise un CRecordSet derivé pour ajouter une entree dans la table correspondante, ce RecordSet ne met pas à jour mon champ ID (auto incrémenté) après le ::Update.
J'aimerai pouvoir récupérer l'identifiant du nouveau champ ajouté, comment faire ??
j'aimerai aussi pouvoir récupérer tous les champs par défaut que je n'ai pas spécifié lors de mon ajout.
merci bien
Mike
-
Appeler CRecordset::Requery(), comme indiqué dans AddNew() ça le fait pas ?
-
oui mais comment savoir lequel est le nouveau ???
imaginons que ma base utilise des procedures stockees et des triggers pour calculer la valeur de l'auto increment et que ce calcul a pour but de boucher les trous, comment je sais quel est le dernier element enregistré ?
de plus si le recordset defini une vue basee sur des criteres de selection qui ne correspondent pas a ton nouvel enregistrement, comment tu peux le recup ?
merci
Mike