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 02/01/2007, 19h07   #1
Membre à l'essai
 
Inscription : janvier 2003
Messages : 98
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 98
Points : 22
Points : 22
Par défaut Problème avec requête SQL avec variables

Bonjour à tous,
J'ai un problème avec la requête SQL suivante :
SQLTEST = "INSERT INTO " & Response.write(request.form("select")) & "(" & Response.write(nomtable(1)) & ") VALUES (?)"

La zone Select contient le nom de la table que j'ai sélectionné et la variable nomtable(1) contient le nom de la colonne dont je viens de saisir le contenu dans un forumlaire.

J'ai plusieurs problèmes :
- avec un response.write(SQLTEST) et en enlevant le response.write(nomtable(1)) (autre pb) je constate que le request.form("select") est vide alors qu'à l'écran cette zone a bien le contenu sélectionné (le nom de la table)
Le response.write(SQLTEST) donne : INSERT INTO () VALUES (?)
* Est-ce que le fait de valider un formulaire, vide les zones de celui-ci ? Si oui comment faire ?

- le response.write(nomtable(1)) me donne une erreur
Erreur d'exécution Microsoft VBScript error '800a000d'
Type incompatible
Pourtant dans un tableau je fais un response.write(nomtable(1)) et le résultat s'affiche bien (sans aucun message d'erreur donc).
* Je crois que ma variable nomtable(1) a perdue son contenu mais je ne comprends pas pouquoi...

Par avance, merci.
harry25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 03h41   #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
Yop!

Tout d'abord, pas de response.write dans la construction de la chaine SLQTEST, ça, c'est sur.
Donc, si le type de nomtable(1) est Numeric (ou assimilé), tu devrais avoir quelque chose du genre:
Code :
1
2
 
SQLTEST = "INSERT INTO " & request.form("select") & "(" & nomtable(1) & ") VALUES (" & une_variable & ")"
ou ceci si le type de nomtable(1) est Text (ou assimile)
Code :
1
2
 
SQLTEST = "INSERT INTO " & request.form("select") & "(" & nomtable(1) & ") VALUES ('" & une_variable & "')"
Ensuite, pour ton histoire de formulaire,c'est plutôt nébuleux...

D'habitude, on a une première page avec le formulaire, l'action du formulaire pointe sur une deuxième page où on récupère les valeurs des champs dans la collection request.form.

Mais j'ai l'impression que tu n'as pas précisé de page d'action pour le formulaire et que dès lors celui-ci se soumet à lui-même, et dans ce cas, c'est exact que les champs de vident.
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 19h11.


 
 
 
 
Partenaires

Hébergement Web