[Delphi] Probleme avec les DELETE en sql ... :(

Probleme avec les DELETE en sql ... :( [Delphi] - Programmation

Marsh Posté le 09-01-2002 à 13:23:37    

C'est encore moi !
 
Désolé de vous faire chier, mais on a un probleme un peu... Chiant sur les bras.
 
On veut faire une requete SQL effacant une occurence d'une table... Rien de bien méchant.
 
la table est ouverte en lecture/ecriture (readonly = FALSE )
 
Et pourtant, Delphi nous balance une erreur style " Acces violation blabla ..."
 
Voila le code :

Code :
  1. RequeteSuppr.Active := FALSE ;
  2.         RequeteSuppr.SQL.Clear;
  3.         RequeteSuppr.SQL.Add('Delete from Inscriptions where (( inscriptions.N°Client = :numinscr ) and (inscriptions.N°plongee = :numplong ))' );
  4.         RequeteSuppr.Params[0].AsInteger := clientpresent.Fields[0].Value;
  5.         RequeteSuppr.Params[1].AsInteger := selecplongee.KeyValue;
  6.         RequeteSuppr.Active := TRUE;


 
RequeteSuppr est du type 'Tquery' et on a vérifié 15 fois le type des paramètres : ils sont bons... C bien des integer.
 
Selecplongée est un TDBLookupComboBox et SelecClient une DBGrid.
 
Vous avez une idée ?
 
Merci d'avance ! :)


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 13:23:37   

Reply

Marsh Posté le 09-01-2002 à 13:39:44    

Déjà tu nous fait pas chier
pour ton pb je regarde ce que je peux faire....


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 13:44:25    

c'est pas le caractère "°" qui chie dans la requete ?
Faudrait tester ta requete dans ton client sql, avant de bidouiller ton code.
 
BOn c juste une idée comme ca ... conné pas trop delphi :)

Reply

Marsh Posté le 09-01-2002 à 13:46:59    

Bon essaye déjà ça :
RequeteSuppr.SQL.Clear;
RequeteSuppr.SQL.Add('Delete from Inscriptions where ((N°Client = :numinscr ) and (N°plongee = :numplong ))' );
RequeteSuppr.Params[0].AsInteger := clientpresent.Fields[0].Value;
RequeteSuppr.Params[1].AsInteger := selecplongee.KeyValue;
RequeteSuppr.ExecSQL;

 
Et si tu pouvais donner le message d'erreur en entier :D


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 13:52:07    

ca marche pas non plus :(
 
et le message C :
 
"Access violation at adress 004B9C57 in module 'project1.exe'. Read adress 00000000. process stopped..."
 
On comprends pas :(
 
Surtout que les paramètres sont bons (on les checke en temps réel via des Tedit... )


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 13:53:26    

Tetedeiench a écrit a écrit :

Read adress 00000000.  




 
un pointeur vide
 
genre objet.propriété si objet = nil


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 09-01-2002 à 13:55:14    

Tetedeiench a écrit a écrit :

ca marche pas non plus :(
 
et le message C :
 
"Access violation at adress 004B9C57 in module 'project1.exe'. Read adress 00000000. process stopped..."
 
On comprends pas :(
 
Surtout que les paramètres sont bons (on les checke en temps réel via des Tedit... )  




Erreur mémoire....
TQuery est créée ?
(RequeteSuppr := TQuery.Create(self);  // ou un truc du genre)
Mode debug en pas à pas sur quelle ligne ça plante ?


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 14:00:39    

RequeteSuppr est créé ... Je vois le composant Tquery sur ma form nommé requetesuppr... la form ou se déroule tout l'algo d'ailleurs (j'ai aps oublié de caster la bonne form en gros).
 
Et il ne nous propose pas le mode debug comme avant , ni le pas a pas (pas de case a cocher :( ) DOnc on ne peut pas te le dire...
 
Et comme il sélectionne aucune ligne (C ca qui est chelou) ben...
 
On sait juste que ca plante dans les instructions si dessus...
 
On est cependant SUR des valeurs des paramètres (ca passe dans un Tedit :  clientpresent.Fields[0].Value et  selecplongee.KeyValue

 

[edtdd]--Message édité par Tetedeiench--[/edtdd]


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 14:03:33    

Tetedeiench a écrit a écrit :

 
Et il ne nous propose pas le mode debug comme avant , ni le pas a pas (pas de case a cocher :( ) DOnc on ne peut pas te le dire...
 
Et comme il sélectionne aucune ligne (C ca qui est chelou) ben...
 
On sait juste que ca plante dans les instructions si dessus...
 
On est cependant SUR des valeurs des paramètres (ca passe dans un Tedit :  clientpresent.Fields[0].Value et  selecplongee.KeyValue  
 
 




Si si y a mode debug, heureusement :D  
Tu fous 1 point d'arret sur RequeteSuppr.SQL.Clear; et pas à pas ;)  
Et tu donnes ligne où ça merde


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 14:05:09    

G un doute là....
RequeteSuppr.SQL.Clear;
RequeteSuppr.SQL.Add('Delete from Inscriptions where (N°Client = :N°Client) and (N°plongee = :N°plongee)';);
RequeteSuppr.Params[0].AsInteger := clientpresent.Fields[0].Value;
RequeteSuppr.Params[1].AsInteger := selecplongee.KeyValue;
RequeteSuppr.ExecSQL;

 
Essaye ça....
Tu test texto j'espere ;)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 14:05:09   

Reply

Marsh Posté le 09-01-2002 à 14:14:38    

La ligne qui merde c'est celle la :
 
RequeteSuppr.Params[0].AsInteger := clientplongee.Fields[0].AsInteger;
 
Pourtant, si je fais :
 
Edit1.Text := IntToStr(clientplongee.Fields[0].AsInteger);
 
Ca passe, on renvoie bien le numéro du client (on s'était planté de table en faisant du debug en fait )
 
Donc en gros :
 

Code :
  1. RequeteSuppr.SQL.Clear;
  2. RequeteSuppr.SQL.Add('Delete from Inscriptions where (N°Client = :N°Client) and (N°plongee = :N°plongee)');
  3. RequeteSuppr.Params[0].AsString := clientplongee.Fields[0].AsString;
  4. RequeteSuppr.Params[1].AsInteger := selecplongee.KeyValue;
  5. RequeteSuppr.ExecSQL;


 
Ca merde sur la ligne avec params[0] , qu'on mette un string ou un integer...


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 14:21:09    

ok
selecplongee C quoi ?
 
RequeteSuppr.Active := False;
RequeteSuppr.SQL.Clear;  
RequeteSuppr.SQL.Add('Delete from Inscriptions where (N°Client = :N°Client) and (N°plongee = :N°plongee)';);  
RequeteSuppr.Params[0].AsInteger := clientpresent.Fields[0].Value;  
RequeteSuppr.Params[1].AsInteger := selecplongee.KeyValue;  
RequeteSuppr.ExecSQL;


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 14:30:41    

C un DBlookupComboBox


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 14:34:20    

ok donc selecplongee.KeyValue est un variant
Essaye :
RequeteSuppr.Active := False;  
RequeteSuppr.SQL.Clear;  
RequeteSuppr.SQL.Add('Delete from Inscriptions where (N°Client = :N°Client) and (N°plongee = :N°plongee)';);  
RequeteSuppr.Params[0].AsInteger := clientpresent.Fields[0].Value;  
RequeteSuppr.Params[1] := selecplongee.KeyValue;  
RequeteSuppr.ExecSQL;

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 14:41:48    

kif kif :/
 
rien changé ...
 
je me demande si C pas une merde de query qui ne peux écrire dans une table ou autre...
 
ma table est pourtant ouverte en écriture (readonly = false )

 

[edtdd]--Message édité par Tetedeiench--[/edtdd]


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 14:57:50    

Tu vas rire mais  
RequeteSuppr.Active := False;
RequeteSuppr.SQL.Clear;  
RequeteSuppr.SQL.Add('Delete from Inscriptions where (N°Client = :N°Client) and (N°plongee = :N°plongee)';);  
RequeteSuppr.Params[0].AsInteger := clientpresent.Fields[0].Value;  
RequeteSuppr.Params[1].AsInteger := selecplongee.KeyValue;  
RequeteSuppr.ExecSQL;

Chez moi ça marche....


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 15:01:03    

Ben alors la, j'en perds mon latin :??:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 15:04:59    

Enfin G surement pas exactement la même chose que toi....
Là si tu m'envois pas un chtit projet de test G bien peur de ne pas pouvoir t'aider +...


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 15:08:01    

tu va rire, mais quand je remplace :
 
RequeteSuppr.Params[0].AsInteger := clientpresent.Fields[0].Value;  
 
par  
 
 
RequeteSuppr.Params[0].AsInteger := 6;
 
Ou le client 6 est celui qu'on veux jarter, ben...
 
CA PASSE BOURDAIL !


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 15:11:06    

tiens, IntToStr(6) marche pas.


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 15:11:06    

lllllllllllol tu m'as pas filé la bonne ligne.... (C 1 peu ma faute.... aprés le message d'erreur en debug on est sur la ligne d'apres le message.....)
Ok je regarde


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 15:13:15    

RequeteSuppr.Params[0].AsInteger := clientpresent.Fields[0].AsInteger;


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 15:19:46    

non plus.
 
On a essayé de récupérer clientpresent.Fields[0] de toutes les manières qu'on connaissais, a chaque fois ca fais l'erreur delamaur...
 
Avant la requete, apres la requete, ca merde :??:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 15:21:23    

Pourquoi ca amrche avec l'autre DBgrid alors ??????????????????????????????
 
Perdu le iench, perdu


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 15:23:35    

C pas le nom (on vient de tenter en le zappant).


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 15:26:17    

Faut aller à la SPA ;)  
Doit y avoir une couille dans les options de la DBGrid ou de la table.....
Envois un chtit projet avec les bases (petite les bases) en racine


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 15:49:48    

peux pas vu le merdier que c'est :(
 
On va finir par trouver ! (je me demande si ce n'est pas aprce que on essaie d'effacer le champ via des champs non clés ... )
 
Je vais essayer de récup le merdier via autre chose... en ajoutant le champ dans la requezte par exemple...


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 16:04:27    

on y arrive paaaaaaaaas :(


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 16:17:31    

Edit1.Text := IntToStr(TDBGrid(Source).Fields[TDBGrid(Source).SelectedIndex].AsInteger);
 
Meme CA ca passe pas, comme si il arrivait pas a sélectionner dans la Dbgrid !
 
Pourant celle d'a coté (qui marche) et celle la n'ont AUCUNE différence (on viens de comparer leurs propriétés... :( )


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 16:19:58    

Edit1.Text := TDBGrid(Source).Fields[TDBGrid(Source).SelectedIndex].AsString;


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 16:20:39    

dit tu fais un test pour savoir si Source C bien un TDBGrid ?


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 16:26:55    

tu fais ca comment ?


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 16:28:10    

pis C pas ca d'ailleurs...
 
Vu qu'on y allait cash au début via clientplongee...


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 16:56:18    

ON A TROUVAI !
 
La solution, c'était rebooter le PC.
 
Pas mal delphi ! :sol:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 17:00:38    

Eh si t'avais pas écris n'importe où dans la mem hein ;)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-01-2002 à 17:16:39    

:lol:
 
Sinon, une erreur "Error creating cursor handle" , ca peut venir de koi ? (apres une requete ;) )


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 17:29:10    

non ben cai bon j'ai réussi :)


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 09-01-2002 à 17:37:41    

Tetedeiench a écrit a écrit :

non ben cai bon j'ai réussi :)  




 :D  
G même pas vu la question ;)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed