Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/07/2006, 00h11   #1
Invité de passage
 
Inscription : juillet 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 2
Points : 0
Points : 0
Par défaut Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit

Bonjour à tous.

Lorsque j'affiche ma page asp, j'ai le mesage d'erreur suivant :

Erreur de compilation Microsoft VBScript error '800a0401'

Fin d'instruction attendue

/iisHelp/common/500-100.asp, line 11

Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
--------------------------------------------------------------------------^
ADODB.Recordset error '800a0bb9'

Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.

/index.asp, line 23

Voici le fichier index.asp :

<!--#include file="dataipcountry.asp"-->
<%
ip = a * 16777216 + b * 65536 + c * 256 + d
ip = CStr(ip)
requete2 = "IP_FROM <= '" & ip & "' and IP_TO >= " & ip

objipcountry.find requete2 (cette ligne est la ligne 23)
if not objipcountry.eof then
response.write "le pays est : " & objipcountry("COUNTRY_NAME")
end if
%>

Voici le fichier dataipcountry.asp :

<!-- METADATA TYPE="typelib" FILE="C:\Program Files\Fichiers communs\System\ado\msado15.dll" -->
<%
dim objconn2, objipcountry
set objconn2= server.createobject("ADODB.Connection")
set objipcountry= server.createobject("ADODB.recordset")


objconn2.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\inetpub\wwwroot\data\ipcountry.mdb;Persist Security Info=False"
objipcountry.open "Iptocountry", objconn2, adOpenForwardOnly, adLockOptimistic, adCmdTable
%>

Je ne comprends absolument pas, car ce code est une copie d'un autre code qui fonctionne très bien. L'unique difference entre celui qui fonctionne et celui la est la requete. Dans celui qui fonctionne ma requete est :
email = request.form("email2")
requete1 = "email='" & email & "'"

Et dans celui qui fonctionne pas c'est :
requete2 = "IP_FROM <= '" & ip & "' and IP_TO >= " & ip

Quelqu'un peut'il m'aider s'il vous plait?
D'avance merci.
PS : ou peut être pour aller plus vite, quelqu'un sait il ou je peux trouver un script gratuit déjà tout fait pour reconnaitre le pays du visiteur a partir de son ip grace à ip-to-country?
nino97490 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2006, 11h17   #2
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Bienvenue à toi Nino!

Juste un petit conseil avant d'examiner ton pb: pense à utiliser la balise CODE quand tu postes des lignes de code, cela rendra ton message plus clair.
La balise CODE est le ch'tit # qui se trouve juste au-dessus du champ que tu utilises pour écrire ton message.

Pour le premier message d'erreur: tu dois scinder la ligne en deux:
Code :
1
2
3
 
Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP 
Dim strMethod, lngPos, datNow, strQueryString, strURL
Pour ce qui est de la requête, il semble y avoir une erreur dans la construction de la chaîne. En effet, la première fois, tu entoures ta variable ip de simple quotes, et pas la seconde fois. Essaye ceci:
Code :
1
2
 
requete2 = "IP_FROM <= '" & ip & "' and IP_TO >= '" & ip & "'"
Ryan
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 02h52   #3
Invité de passage
 
Inscription : juillet 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 2
Points : 0
Points : 0
Tout d'abord merci de me répondre.

En fait j'avais déjà essayé un peu tout ce qui concernait la fabrication de la chaine :
- avec "'" ou sans
- en transformant en chaine au cas ou avec str() car les champs de ma base access qui enregistre ces données sont au format "tecte" -> chaine de carctère.

Rien a= à faire, cela ne veut pas prendre.

Merci à toi et à tout ceux qui m'aideront car il s'agit d'un projet professionnel qui doit aboutir dans un certain temps. Donc je cherche sur internet les infos ou le script lui meme pour reconnaitre le pays du visiteur pour le rediriger sur la page d'accueil de son pays. Et en asp car je maitrise que ce langage et je n'ai pas le temps d'apprendre la base du php ou autre.

Merci encore.
nino97490 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 13h11   #4
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Pour ce qui est de la requête, il faudrait voir, dans la base de données, quelle est la nature des champs IP_FROM et IP_TO.

Si ce sont des champs Texte, la variable ip doit être entourées de simple quotes.
Si ce sont des champs Numérique, pas de simple quotes. En plus, pour ce type de champs, il faut voir si ils peuvent contenir un nombre aussi élévé (codé sur 4 octets ). Question à poser dans le forum Access...

Ryan
Le bonheur est dans le champ.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h35.


 
 
 
 
Partenaires

Hébergement Web