Question : Comment peut-on obtenir le nombre de "records" (ou lignes) dans une base de données :
"m_pSet->GetRowsetSize()" me donne toujours 1, alors qu'il y a plus de 1000 lignes dans la bdd... pareil pour "m_pSet->GetRecordCount()" qui me donne 1... en utilisant SetRowsetSize(99), j'ai une erreur d'assertion,![]()
Comment fait-on ? Se mettre sur la première ligne avec MoveFirst, et une boucle for jusqu'à ce que IsEOF renvoie une erreur ?
Autre question: j'ai un bouton Add qui a la fonction suivante :
AddtoDB => ajoute les données a la bdd, là aucun souci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void CFBHorariesView::OnButtonAdd() { m_pSet->MoveLast(); if((CFBHorariesView::AddtoDB())){ //ajoute les données à la base de données AddLinetoGrid(); //on ajoute la ligne à la grille à partir de la base de données //m_pSet->MoveNext(); //passe à l'enregistrement suivant m_ButtonAdd.EnableWindow(FALSE); //on a fait un ajout, on désactive le bouton pour le prochain enregistrement ResetControls(); //efface sortie, entree, pause grid.Refresh(); //affiche les changements sur la grille }else{ AfxMessageBox("Erreur lors de l'ajout à la base de données"); return; } }
AddLinetoGrid => ajoute les données à partir de la bdd dans la grille. Le problème est qu'elle ne passe pas à la ligne suivante quand j'ajoute des données, qui sont pourtant bien répercutées dans la bdd...Où est le problème ? Franchement depuis que j'ai les yeux dessus, je vois plus rien, j'ai tout essayé
Partager