Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1682 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [ASP] Erreur ADODB.Recorset

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ASP] Erreur ADODB.Recorset

n°392125
mimile28
Posté le 13-05-2003 à 15:35:35  profilanswer
 

Salut,  
 
Je suis débutante en ASP ...  
J'ai un ptit soucis avec la création d'un recordset.  
Je travaille avec SQL Server j'ai vérifié tous les droits sont ok.  
Le dns est ok la connexion marche.  
Lorsque je lance ma page j'ai un erreur :  
"ADODB.Recordset (0x800A0BB9)  
Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres."  
 
Voici mon code qui pose problème (les variables sont toutes initialisées) :  
 
set conn = Server.CreateObject("ADODB.Connection" )  
conn.Open ODBC_NAME, ODBC_USER, ODBC_PASSWORD  
 
set rs1 = Server.CreateObject("ADODB.RecordSet" )  
rs1.Open "CLIENT" , conn, adOpenKeyset, adLockPessimistic, adCmdTable  
 
rs1.close  
conn.close  
 
Si quelqu'un à une idée ...  
Merci d'avance

mood
Publicité
Posté le 13-05-2003 à 15:35:35  profilanswer
 

n°392131
MagicBuzz
Posté le 13-05-2003 à 15:39:44  profilanswer
 

1) n'utilise pas les constantes ADODB, l'ASP ne les reconnait pas. Il faut donc utiliser leurs valeurs. (le mieu c'est de rien mettre, les valeurs par défaut vont très bien)
 
2) rs1.open "CLIENT", ...
 
-> "SELECT * FROM CLIENT" à la place de "CLIENT"
 
 
Donc la ligne devient au final :
 
rs1.open "SELECT * FROM CLIENT", conn


Message édité par MagicBuzz le 13-05-2003 à 15:41:11
n°392140
mimile28
Posté le 13-05-2003 à 15:44:27  profilanswer
 

merci beaucoup mais ça n'est pas passé je viens de le tester en mettant le select à la place de CLIENT il me fait toujours la même erreur.

n°392163
MagicBuzz
Posté le 13-05-2003 à 15:53:25  profilanswer
 

t'as bien viré les ", adOpenKeyset, adLockPessimistic, adCmdTable" ?

n°392175
mimile28
Posté le 13-05-2003 à 15:59:05  profilanswer
 

alors j'ai tout viré  
mais le truc c'est que si je met pas ces paramètres (adLockPessimistic ...etc) je peux pas faire de adnew parce que par défaut tout est en lecture seule.  
voilà l'erreur qu'il me sort si j'enlève tout et que j'essaie de faire le addnew :
 
"Le jeu d'enregistrements suivant ne prend pas en charge la mise à jour. Il s'agit peut-être d'une limitation du fournisseur ou du type de verrou sélectionné."
 

n°392181
MagicBuzz
Posté le 13-05-2003 à 16:00:55  profilanswer
 

Il ne faut jamais faire de addnew depuis l'ASP.
 
Utilise des requêtes :
 
conn.execute "INSERT ..."

n°392189
mimile28
Posté le 13-05-2003 à 16:03:09  profilanswer
 

d'accord je vais essayer comme ça je te remercie beaucoup de ton aide je te tiens au courant   :D

n°392309
mimile28
Posté le 13-05-2003 à 16:53:35  profilanswer
 

bon ça passe pas mais je garantie pas que ma requete soit juste (j'en ai jamais fait en ASP) :??:  
sql = "INSERT INTO client VALUES '" & nv_nom & "','" & nv_prenom & "','" & nv_adresse & "'"
conn.execute (sql)
 
-> erreur :
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Ligne 1 : syntaxe incorrecte vers ''. Ligne 25 (c celle de la requete)

n°392316
MagicBuzz
Posté le 13-05-2003 à 16:58:58  profilanswer
 

Alors.
 
1° truc : INSERT INTO latable (champ1, champ2, champ3) VALUES (val1, val2, val3)
 
En effet, il n'est pas recommandé d'ommètre la liste des champs. Deplus, il ne faut pas omètre les ( ) - c'est ça en fait ton problème -
 
2° truc : euh... En fait j'en vois pas... Ah ! Si ! Pour les valeurs : "... '" & replace(val, "'", "''" ) & "' ..."
 
Car s'il y a une quote dans un des champs, ça va planter.


Message édité par MagicBuzz le 13-05-2003 à 16:59:39
n°392393
mimile28
Posté le 13-05-2003 à 17:31:59  profilanswer
 

ok bon ça fonctionne presque il ne me fait plus aucune erreur c'est déjà ça ensuite pour ce qui est de l'insert il faudrait que je cré des variables globales qui puissent être initialisées dans ma page HTML et traitées par ma page ASP.
Ya une méthode pour faire ça ?

mood
Publicité
Posté le 13-05-2003 à 17:31:59  profilanswer
 

n°392497
MagicBuzz
Posté le 13-05-2003 à 18:22:35  profilanswer
 

Peux-tu être plus explicite ?
 
Je ne comprends pas ce que tu veux faire.

n°392930
mimile28
Posté le 14-05-2003 à 09:17:23  profilanswer
 

En fait, depuis ma page HTML je remplie des zones de texte. Je souhaite mettre le contenu de mes zones de textes dans ma base de données.
Pour cela j'ai créé une autre page en ASP dans laquelle j'effectue mon INSERT.
Ce que je voudrais savoir c'est comment une fois les valeurs de la page HTML récupérées comment les rendre accessibles dans ma page ASP. En résumé je souhaiterai créer des variables globales qui seraient accessibles aussi bien dans ma page HTML que dans ma page ASP.
Je sais que j'aurai pu tout faire sur la même page mais je souhaite apprendre à faire ce genre de manipulation c'est pour cela que j'ai choisi cette méthode.
 
Merci beaucoup pour ton aide.

n°393130
MagicBuzz
Posté le 14-05-2003 à 11:19:53  profilanswer
 

Fait un formulaire, avec comme action ta page qui fait l'insert, et comme méthode "post".
 
Tu récupères alors les valeurs saisies par request.form("nom_du_champ" )

n°393163
mimile28
Posté le 14-05-2003 à 11:31:43  profilanswer
 

oui ça je l'ai fait mais apparemment les request.form("nom du champ" ) ne se transmettent pas d'une page à l'autre.
 
dans ma page HTLM :
<form method="post" name="form4" action = creation.asp>
dans ma page ASP ("creation.asp" ):
nv_nom = Request.form("nom" )
Le problème c'est que j'ai l'impression que dans ma page ASP il va chercher le form de ma page ASP et pas le form de ma page HTML donc la valeur de Request.form("nom" ) est "".
 
J'essaye de tout mettre dans la meme page (dans ma page HTML).
J'arrive même pas à lancer une procédure VBSCRIPT toute simple sur le clic d'un bouton donc c'est pas gagné :)
 
Merci

n°393175
MagicBuzz
Posté le 14-05-2003 à 11:38:25  profilanswer
 

Dans ton form, crée un champ <input type="text" name="nom">
 
C'est la valeur de ce champ qui sera contenue dans request.form("nom" )

n°393188
mimile28
Posté le 14-05-2003 à 11:46:55  profilanswer
 

voila mon code HTML:
<form method="post" name="form4" action = creation.asp>
  <input name="nom" type="text" id="nom">
  <input name="prenom" type="text" id="prenom">
  <input name="adresse" type="text" id="adresse" size="50">
  <input name="Ajouter" type="submit" id="Ajouter" value="Ajouter" >  
</form>
mais ça marche toujours pas.
 
sinon comment faire pour appeler ma procédure VBSCRIPT sur le click de mon bouton "Ajouter"
j'ai testé :  
<input name="Ajouter" type="submit" id="Ajouter" onclick = <% proc %>>
<input name="Ajouter" type="submit" id="Ajouter" onclick = "<% proc %>">
mais rien a faire ça passe pas non plus :/

n°393197
mimile28
Posté le 14-05-2003 à 11:50:26  profilanswer
 

les request dans ma page ASP :
 
nv_nom = Request.form("nom" )
nv_prenom = Request.form("prenom" )
nv_adresse = Request.form("adresse" )
   
voilà

n°393212
MagicBuzz
Posté le 14-05-2003 à 11:58:21  profilanswer
 

Non.
 
Depuis l'HTML tu peux rien faire.
 
Principe :
 
page "form.asp" qui contient uniquement le forumlaire (sans aucun traîtement)
sa balise form fait référence à "add.asp" (le action du form) qui lui ne s'occupe que de faire le insert, puis de faire un redirect sur le form ou sur une liste mise à jour en fonction du succès ou non de l'insert.

n°393349
mimile28
Posté le 14-05-2003 à 14:30:54  profilanswer
 

ok c'est bon tout fonctionne
je te remercie beaucoup de ton aide et pour tout les conseils
A bientot peut etre  
 :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [ASP] Erreur ADODB.Recorset

 

Sujets relatifs
[asp] Erreur lors de passage de champs pour une requete[ASP] fonction suppr espace fin de chaine
[ASP] demande de mot de passe et aiguillage en fonction de celui ciC : help je ne trouve pas l'erreur (solution trouver merci)
[ASP] Tableau à 2 dimensions[opengl]une erreur a la compil, ai-je oublié un fichier d'en-tête ?
[ASP] Gestion de forumulaire avec nombreux champsASP et base access... Petite question...
VB6: Erreur de compilation incompréhensible....pour moiJ'aimerai supprimer une erreur JavaScript
Plus de sujets relatifs à : [ASP] Erreur ADODB.Recorset


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR