SQL et << ' >> + << : >>

Résolu
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 - 10 avril 2007 à 11:48
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 - 18 avril 2007 à 18:25
Salut tout le monde,

j'ai un problème avec une commande SQL et les char << ' >> << : >>

je fait unUPDATE MSG set EN"Models hola" , ES"" where ID= 10413
UPDATE MSG set EN="Models ' hola", ES ="" where ID= 10413
UPDATE MSG set EN="Models x : hola", ES ="" where ID= 10413
tout ça marchent bien.

mais avec les deux char present une seul fois :
UPDATE MSG set EN ="Models' x: hola", ES="" where ID=10413
ça ne marche pas.
EOleException : Objeto Parameter mal definido. Se proporcionó información incompleta o incoherente

notez que
UPDATE MSG set EN="Models:: hola", ES="" where ID=10413
UPDATE MSG set EN="Models'' (double simple quote) hola", ES="" where ID=10413
UPDATE MSG set EN="Models'' x: hola", ES="" where ID=10413
UPDATE MSG set EN="Models' x:: hola", ES="" where ID=10413
marchent aussi très bien.

context:
MS Access 2003 (fichier format 2000), TADOQuery.SQL.Text

une idée? moi je nage....

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.

11 réponses

jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 1
10 avril 2007 à 14:54
Utiliser une TADOQuery

UPDATE MSG set EN="Models:: hola", ES="" where ID=10413

remplacé par
UPDATE MSG set EN :Param1, ES :Param2 where ID = :Param3
puis
AdoQuery.Parameters.ParamByname('Param1').value := lachainequicontientlavaleurpourEN;
AdoQuery.Parameters.ParamByname('Param2').value := lachainequicontientlavaleurpourES;
AdoQuery.Parameters.ParamByname('Param3').value := lentierpourID;
AdoQuery.Execute;
3
jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 1
10 avril 2007 à 13:58
bjr,

as-tu essayé en utilisant des parametres ?
Généralement, ça résoud tous les problèmes!

J-Luc ! 
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
10 avril 2007 à 14:08
salut,

"parametres"... heu. je suis pas doué en DB/SQL. Qu'entends-tu par paramètres? je vois pas du tout. :-(

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
10 avril 2007 à 15:04
oh

ça m'as l'aire très intéressant !

je vais tester ça demain (et oui, j'ai finit ma journée de taf)

merci, a+

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
11 avril 2007 à 10:39
salut,

ça marche impec ! j'ai juste du les crée avant (Parameters.CreateParameter).
très pratique ces params... :D

merci,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
11 avril 2007 à 12:18
Salut Loda,


Juste par curiosité, ne serait-il pas plus juste d'utiliser ocurrir plutôt que proporcionarse dans le message :

"Se proporcionó (=>ocurrió) información incompleta o incoherente" ?

Question subsidiaire : tu utilises un clavier espagnol ? Si c'est le
cas, vu tes nombreuses contributions à delphifr, bravo car bonjour les
"Alt + x" pour les caractères accentués. Tiens, ça me donne une idée de
programme...


A +


japee
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
12 avril 2007 à 09:08
[HS]

Pour le message d'erreur, bin j'en sais rien ! :D Je l'ai juste copié de mon fichier de log. (qui a des messages en espagnole, car mon window est en espagnole.)
Et le clavier, bin c'est comme le window, c'était sur le bureau quand je me suis fait engagé (je bosse/vie à Barcelone), alors je fais avec.

Mais on peut ajouter la "barre de langue" près du systray dans le paneau de configuration "configuration regional -> langue -> details" qui te permet de changer de clavier (FR, ES, ..) rapidement. très pratique. Si il n'y avait pas cette m**** de détéction automatique qui me le remettait en espagnole de temps en temps, ça serrait parfait.

Au finale, il faut juste se rappeler où son les accent sur le clavier français :-D

"Alt+X" je ne connait pas.... ?!

pour les accent/char très exotique j'utilise directement le code asci :

ex: pour " ñ " (241)
<li>maintient le alt de enfoncé .</li><li>press "0241" sur le pavé numérique<li>c'est magique ! :-)</li>
/HS

bon code,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
12 avril 2007 à 13:03
Salut Loda,


Désolé pour le hors-sujet.

Bref, l'idéal serait d'avoir les 2 claviers sous la main, un azety fr et un querty es sur lequel il y a le ñ entre autres...

Pour la 1ère question, je me suis imaginé que tu maîtrisais la langue de Cervantes.

Pour obtenir un caractère ne figurant pas sur le clavier, j'aurais dû
plutôt écrire Alt + n, "n" étant un nombre, comme tu nous l'expliques
plus haut.

Tiens, Alt + 0241 tu me l'apprends, moi je faisais Alt + 164 pour ñ... Intéressant.

Merci pour tes explications.


Buén código fuente a todas y a todos
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
12 avril 2007 à 13:41
salut,

" Désolé pour le hors-sujet." pourquoi? y a pas de mal. je l'indique juste pour les prochain qui relise.

non je parle pas couramment espagnole. je baraguine un peu et, avec les mains, les gens me comprennent...

164 vs 241:
bin en fait, 241 c'est le code asci. mais je vois pas à quoi correspond le 164 ?!?

"d'avoir les 2 claviers" ... tss, me dit pas que tu regarde (encore) le clavier pour taper... donc le dessin sur le touche ne sert à rien en fin de compte.... non ?

(oui oui, moi aussi je mates le clavier... ;o) )

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
cs_mounjetado Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 4 août 2008
18 avril 2007 à 15:55
bah et pourquoi pas juste AltGr+2 puis n pour obtenir ñ...
ça marche très bien sur un clavier azerty français... lol
bon oui je suis un peu chauvin sur les bords...
et beaucoup au milieu!!! mdr
mais je me permettrai si ça ne vous dérange pas de revenir vers vous car je risque fortement d'avoir besoin d'une aide précieuse sur SQL dans peu de temps!
en attendant, bonne continuation à tous ;-)







<hr />

si Delphi m'était conté...
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
18 avril 2007 à 18:25
Oh oui, bien vu, mounjetado.
Mais pour SQL, faudra pas compter sur moi...

Sinon pour répondre à Loda (pourquoi Alt + 164), c'est en référence au jeu de caractère MS-DOS Multi-Linguistique( Latin I). Ma devise est : pourquoi faire simple quand on peut faire compliqué, lol.

Bonne prog'
0
Rejoignez-nous