sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 2015
-
27 août 2008 à 09:12
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
27 août 2008 à 16:37
Bonjour,
Pour faire suite à la discussion Fieldbyname non déclaréavec Jenojen, nous rencontrons un problème des plus agaçants :
Sur une table avec un champ Integer, il est impossible de faire un insert. A chaque fois delphi retourne un message 'Conversion de type variant incorrect'.
Exemple :
Var
LI_Truc : Integer;
begin
LI_Truc := MaTable2ChampEntier.AsInteger;
With TQuery.Create(nil) do begin
DatabaseName := [le rep contenant le fichier];
SQL.Add('Insert into MaTable (MonChampEntier)');
SQL.Add('Values ('+ IntToStr(LI_Truc) +')');
ExecSQL;
Free;
end;
end;
Ça, ça ne marche pas (sauf si MonChampEntier est en réel, mais cette solution ne me convient qu'à moitié)
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 27 août 2008 à 15:39
Bonjour,
A chaud :
les deux exemples sont très differents..
l'un est une insertion directe et l'autre une insertion à l'aide d'une sous-requête.
On ne peut donc pas les comparer..
la 2e solution ne présente pas d'intérêt puisque la valeur de LI_Truc est connu au départ.
Pour le premier, il faudrait plus d'infos, car la structure de la table est importante
est ce que par exemple le champ MonChampEntier ne serait pas
une clé primaire auto-incrémentale ?
A quoi sert également DatabaseName dans ce code ?