PascalLF
Messages postés17Date d'inscriptionjeudi 5 juin 2003StatutMembreDernière intervention12 décembre 2004
-
5 juin 2003 à 12:02
PascalLF
Messages postés17Date d'inscriptionjeudi 5 juin 2003StatutMembreDernière intervention12 décembre 2004
-
5 juin 2003 à 13:55
Salut tlm,
d'une page asp j'appelle une fonction access et j'ai une erreur bizarre.
Voici mon code :
'Déclaration
Dim MaBase
Dim MaConnexion
Dim Resultat
Dim MaCommande
MaBase = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Mes Documents\AD.mdb;Persist Security Info=False"
'Connexion à ma base de donnée
Set MaConnexion = Server.CreateObject("ADODB.Connection")
MaConnexion.Open MaBase
'Création d'un objet command sur ma base de données
Set MaCommande = Server.CreateObject("ADODB.Command")
MaCommande.ActiveConnection = MaConnexion
'Déclaration de la fonction access a exécuter
MaCommande.CommandText="MajAD"
MaCommande.CommandType = adCmdStoredProc
'Execution de ma fonction et récupération des résultats
MaCommande.Execute
Result = MaCommande.Parameters("Return")
Response.Write Resultat
'Nettoyage
Set MaCommande = nothing
MaConnexion.Clode
Set MaConnexion = nothing
Voici mon erreur :
Type d'erreur :
ADODB.Command (0x800A0BB9)
Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.
/administration/Accueil.asp, line 18
La ligne 18 correspond au code : MaCommande.CommandType = adCmdStoredProc
rudyboy
Messages postés12Date d'inscriptionjeudi 5 juin 2003StatutMembreDernière intervention12 juin 2003 5 juin 2003 à 12:41
les parmètres de l'objet Command (tels que adCmdStoredProc) ne sont pas définis par défaut
tu devrais utiliser les valeurs numériques ou hexa (lire la doc ADO) ou sinon fais un include de adovbs.inc (non recommandé)
de + tu ne devrais pas écrire ceci :
MaCommande.ActiveConnection = MaConnexion
car là tu passes juste la chaine de connexion (propriété par défaut) ce qui va avoir pour conséquence d'ouvrir une nouvelle connexion à la base. Pour réutiliser la connexion que tu viens de créer tu dois coder :
Set MaCommande.ActiveConnection = MaConnexion
ce qui est la syntaxe pour initialiser les objets
tu peux le vérifier facilement :
Response.Write MaConnexion écrit la chaine de connexion...