-
TIBDataSet, InsertSQL
Bonjour,
concernant le TIBDataSet, on gère l'ajout par InsertSQL. On y met notre requête 'INSERT INTO ...' et on gère le tout avec des paramètres.
Mais est-il possible d'utiliser le TIBDataset avec un composant du genre TDBEdit ? Est-ce pour celà que l'on a la méthode Append dans le TIBDataSet ?
Merci d'avance
-
j'ai mal compris ta question mais je vais essayer de t'éclaircir la chose.
Tu appelle la méthode Append ou Insert de ton IBDataSet c'est toujours la même requête SQL Qui te faut INSERT INTO.....
Les paramètres qu'on utilise se sont en fait les valeur à insérer dans les champs qu'il faut.
-
Bonjour et merci pour ta réponse,
j'ai encore un peu de mal avec la philosophie interbase, ça change pas mal d'ADO avec Access ou SQL Server ..
Je vais essayé d'être plus clair dans ma question ...
En fait dans les champs 'ContrôleBD', avec par exemple le contrôle 'TDBEdit' on a la propriété 'DataField'. Celle-ci est liée au 'DataSource' qui est lui même lié au 'DataSet'.
Dans ma feuille, j'ai affecté à la propriété 'DataField' de mon 'TDBEdit' : RDB$Generator_Name
Mon DataSet a pour valeur :
SelectSQL = 'SELECT * FROM RDB$Generators;'
InsertSQL = 'INSERT INTO RDB$Generators (RDB$Generator_Name) VALUES (:ParamGenerator);'
J'exécute mon programme, je clic sur un bouton pour activer l'ajout d'un enregistrement (Append), je saisie une valeur dans mon 'TDBEdit', je clic sur un bouton pour valider l'insertion (Post), Je commit ma transaction. Je vérifie dans ma grille d'affichage, la valeur a bien été copiée.
Je ferme mon programme, je vérifie dans Interbase, la ligne existe bien, mais le champ RDB$Generator_Name est vide.
La méthode 'Append' utilise ma requête InsertSQL pour se copier ?
Comment mon champ envoie la valeur saisie de mon TDBEdit à ma table avec la requête InsertSQL ? Il sait que ma valeur est liée au paramètre 'ParamGenerator' ?
Alexandre
-
Au cas où par moteur de recherche des gens retomberaient sur ce post, la réponse est ici :
:arrow: http://www.developpez.net/forums/viewtopic.php?t=405986