INSERT et erreur martienne

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 23 juin 2008 à 19:44
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 27 juin 2008 à 20:23
Bonjour,

J'essaie d'insérer une ligne dans une table appelée Ip2Country.
Les champs sont comme ceci :

Le SQL :
INSERT INTO Ip2Country ([StartIP], [EndIP], [CountryAbb1], [CountryAbb2], [Country]) VALUES (33996344, 33996351, "GB", "GBR", "UNITED KINGDOM");

L'erreur :
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 3.

Si quelqu'un trouve c'est quoi ...
Merci d'avance !
_______________________________________________________________________
VB.NETis good ...VB6is better

16 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
23 juin 2008 à 19:47
Oups ... les champs :
http://69.80.254.181/download/6470de8a64f3b4bbff0fa058a0810378/1214243104/14088567/ip2country.jpg
_______________________________________________________________________
VB.NETis good ...VB6is better
0
GarnierFlorian Messages postés 129 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 26 juillet 2011
25 juin 2008 à 10:13
Salut ghuysmans99 !

Essaye :
INSERT INTO Ip2Country ([Idx],[StartIP], [EndIP], [CountryAbb1], [CountryAbb2], [Country]) VALUES ("",33996344, 33996351, "GB", "GBR", "UNITED KINGDOM");

Même si ton champ est auto-incrémenter tu dois le préciser dans ta requête.
Je sais tu ne le met pas dans la liste de champs donc tu ne devrai pas avoir besoin de le précisé, mais j'ai eu ce problème laun jour  et c'est comme cela que je l'ai résolu.
J'espère que çà marchera comme cela, et si oui que ma solution te conviennes.
Peace
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
25 juin 2008 à 10:29
Malheureusement ça ne marche pas non plus !
Là, il me dit qu'il n'y a pas le même nombre de champs à droite et à gauche (logique).
Une autre idée ?
_______________________________________________________________________
VB.NETis good ...VB6is better
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
25 juin 2008 à 10:33
OOps ...Me suis trompé.
Il me dit maintenant :
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 4.
_______________________________________________________________________
VB.NETis good ...VB6is better
0

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

Posez votre question
GarnierFlorian Messages postés 129 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 26 juillet 2011
25 juin 2008 à 10:35
Hum je ne vois pas pourquoi c'est logique, tu a 6 champs dans la liste, et 6 valeurs à inserer !
En tout cas désolé que çà n'est pu te servir :/

Peace

 
0
GarnierFlorian Messages postés 129 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 26 juillet 2011
25 juin 2008 à 10:42
Ah d'accord !
Et si tu essaye de faire sans les crochets pour la liste des champs çà te donne quoi ?
Peace
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
25 juin 2008 à 11:38
Pile poil la même chose ...
_______________________________________________________________________
VB.NETis good ...VB6is better
0
GarnierFlorian Messages postés 129 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 26 juillet 2011
25 juin 2008 à 11:53
Ok...
Bon et bien je te l'avou, ton erreur est vraiment "martienne" !
Je ne sais pas mais au pire essaye de modifier le type des champs, par exemple au lieu de number mettre integer si c'est possible.
Enfin un type qui se rapproche de number quoi, je sais que j'avais eu un soucis de ce genre la avec un table moi aussi, mais je n'étais pas sous Access, c'est pour çà que je ne peux rien t'affirmer mais jsute essayer de t'aiguiller.

Peace

 
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
25 juin 2008 à 13:22
Salut,

je ne connais pas la réponse et je n'ai jamais utilisé une base access mais au lieu de number ou d'integer, si ton nombre est un nombre décimal essai de le mettre en type "double" et si c'est un nombre entier, tu peus mettre integer ("INT")...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
GarnierFlorian Messages postés 129 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 26 juillet 2011
25 juin 2008 à 14:20
Je ne sais pas mais au pire essaye de modifier le type des champs, par exemple au lieu de number mettre integer si c'est possible.

"Au lieu de number ou d'integer.........si c'est un nombre entier, tu peux mettre integer("INT")..."

C'est exactement ce que je lui est suggéré

Peace
 
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
25 juin 2008 à 19:51
Pas de type INT en Access mais en MySQL oui
_______________________________________________________________________
VB.NETis good ...VB6is better
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
25 juin 2008 à 20:48
oui, en mysql c'est INT, excuse moi mais je connais mal access, par contre Mysql...

@GarnierFlorian : désolé, j'avais pas vu, je devais pas être réveillé, par contre il me semble que j'ai aussi dit que si c'était des flotant il y avait peut être un type du genre : double ou float !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
26 juin 2008 à 08:46
Il y a effectivement un type Double mais les nombres que j'insère sont des entiers (longs) non signés
_______________________________________________________________________
VB.NETis good ...VB6is better
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
27 juin 2008 à 08:52
ok, désolé !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
GarnierFlorian Messages postés 129 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 26 juillet 2011
27 juin 2008 à 09:04
ghuysmans99



J'aimerais savoir où tu fais ta requête sql, car jviens de remarquer que ton erreur parle de lien Odbc, alors si çà se trouve, ce n'est pas de ta requête que vient l'erreur, mais de ton lien Odbc !?!
Ce sait peut-être pas çà, mais on ne sait jamais, pasque sinon je vois pas de où çà peut venir :$^^

Peace

 
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
27 juin 2008 à 20:23
A partir de la librairie ADO (Microsoft Active Data Objects 2.8 Library), via VB6 (Visual Basic 6)
J'ai essayé le query sous Access (dans les requêtes) et ça marche ...
Zarbi !!
_______________________________________________________________________
VB.NETis good ...VB6is better
0
Rejoignez-nous