Bonsoir,
je voudrais inséré une ligne dans une DBGrid mais au lieu d'une insertion j"ai un ajout:(
merci
Version imprimable
Bonsoir,
je voudrais inséré une ligne dans une DBGrid mais au lieu d'une insertion j"ai un ajout:(
merci
Ajout et Insertion c'est globalement la même chose !
le DBGrid ajoute la ligne selon le positionnement en cours, su tu as ton propre bouton et utiliser la méthode Append du ADODataSet pour un ajout au lieu de la méthode Insert.
Pense au TDBNavigator pour avoir les boutons d'ajout\modification et de navigation, il a l'avantage de nécessiter AUCUN code !
bonsoir,
par contre j'utilise ADOConnection + ADOTable et Datasource
et non ADODataSet, je pense que ce n'est pas bon ? :?
merci
ADOTable hérite de ADODataSet, j'ai utilisé volontairement une classe plus générique pour que ma réponse puisse s'appliquer aussi bien à un TADOTable qu'à un TADOQuery !
bonsoir,
voici un petit bout du code mais ça marche pas, il ajoute la ligne ,il ne l’insert pas :(
pourtant je sélectionne bien une ligne au milieu de ma table sur le DBGrid ! :?
merciCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 ADOTable3->Append(); // Désignation ADOTable3->FieldValues["DESIGNATION"] = des_finale; // Numero client ADOTable3->FieldValues["NUM_CLI"] = DBEdit16->Text; // date devis ADOTable3->FieldValues["DA_DEV"] = FormatDateTime("DD/MM/YY",Now()); // NUMERO DEVIS ADOTable3->FieldValues["NUM_DEV"] = Edit10->Text; // radio group ************** // choix unité pour quantité if ( RG1->ItemIndex == 0 ) { ADOTable3->FieldValues["UNIT"] = "ML"; } if ( RG1->ItemIndex == 1 ) { ADOTable3->FieldValues["UNIT"] = "F"; } if ( RG1->ItemIndex == 2 ) { ADOTable3->FieldValues["UNIT"] = "U"; } if ( RG1->ItemIndex == 3 ) { ADOTable3->FieldValues["UNIT"] = "ENS";} //*************************** // construction de prix complet pu = ADOTable1->FieldValues["Prix Complet"]; ADOTable3->Post();
Append ajoute un nouvel enregistrement vide à la fin de l'ensemble de données.
Insert insère une nouvel enregistrement vide dans l'ensemble de données.
Très important :
Sinon ADOTable3, change ce nom pour avoir un code plus lisible, comme par exemple ADOTableCommandeClient ou ADOTableFactureCitation:
Pour les bases de données SQL, l'emplacement physique de l'ajout dépend de l'implémentation. Pour les tables indexées, l'index est actualisé avec les informations du nouvel enregistrement.
bonjour,
ok, donc avec insert je devrais pouvoir inséré le nouvel enregistrement dans ma grille à la position du curseur, j’essaie des que je rentre ;)
mais il me semble que j'ai déjà essayé avec insert et ça m'ajoute l'enregistrement à la fin
merci