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

  FORUM HardWare.fr
  Programmation

  [ASP/VBSCRIPT] Help me plz....

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ASP/VBSCRIPT] Help me plz....

n°119378
Giz_
Posté le 30-03-2002 à 16:57:52  profilanswer
 

Voilà j'ai un projet tut a rendre mecredi et jsuis bloqué la :(
 
voilà je ne suis pas une star en VBSCRIPT...mon pb :
 
dim reqSQL, indice
for indice = 0 to Session("indice" )
 annee_scolaire = "annee" & indice  
 etablissement_frequente = "etablissement" & indice
 classe_suivie = "classe" & indice
 diplome_suivi = "diplome_suivi" & indice
 diplome_obtenu = "diplome_obtenu" & indice
 reqSQL = "INSERT INTO cursus_scolaire (annee_scolaire, etablissement_frequente, classe_suivie, diplome_prepare, diplome_obtenu) VALUES ('"&Session(annee_scolaire)&"', '"&Session(etablissement_frequente)&"', '"&Session(classe_suivie)&"', '"&Session(diplome_suivi)&"', '"&Session(diplome_obtenu)&"';)"
 'Response.write (reqSQL)
next
 
Pour indication ma boucle s'effectue 4 fois (au moins)
donc la variable reqSQL prendra 4 valeur .
cad 4 requete SQL différentes!
 
dc je souhaite ecrire ds ma base via la commande:  
 
BaseTest.Open reqSQL, BaseLink
 
Le bleme c que ie n'accepte pas la vaiable reqSQL pour la requete car c une variable a valeur multiple (4 requete !)
Comment donc faire pour recuperer CHAQUE valeur de la variable dans une autre variable dont je me servirai pour l'ecriture ds la base!
Fo faire une boucle car je ne sais pas combien de valeur pourra avoir la var reqSQL!
Help me :cry:
 
 
 
 
 
Un coup de main plz

mood
Publicité
Posté le 30-03-2002 à 16:57:52  profilanswer
 

n°120118
Giz_
Posté le 02-04-2002 à 10:52:23  profilanswer
 

up

n°120169
dilyfe
Posté le 02-04-2002 à 12:52:08  profilanswer
 

Bah t'executes chaque requete à chaque boucle...
 
....
    BaseTest.Execute reqSQL
Next

n°120174
HappyHarry
Posté le 02-04-2002 à 12:58:37  profilanswer
 

Citation :

voilà je ne suis pas une star en VBSCRIPT...


 
je dirais plutot que t pas une star tout court  :D

n°120184
Giz_
Posté le 02-04-2002 à 13:15:42  profilanswer
 

Oui mais l'erreur est la meme , meme si la requete est ds la boucle !!

n°120187
dilyfe
Posté le 02-04-2002 à 13:35:05  profilanswer
 

C koi l'erreur ?

n°120194
Giz_
Posté le 02-04-2002 à 13:46:48  profilanswer
 

C ce que j'ai dit!
l'erreur pseudo exact est: "valeur qui peut etre mis a jour pour reqSQL"

 

[jfdsdjhfuetppo]--Message édité par Giz_--[/jfdsdjhfuetppo]

n°120197
dilyfe
Posté le 02-04-2002 à 13:52:56  profilanswer
 

A mon avis c qu'il ne trouves pas un de tes champs vu ke tu génères les champs à insérer dynamiquement, fais un response.write de reqsql et vérifies k'il génères les bons noms de champs par rapport à la structure de ta table
 
Oh putain, ton pb c que tu rempli t variables annee_scolaire, etc et que après tu ne t'en sers pas en tant que variables...
 
==>reqSQL = "INSERT INTO cursus_scolaire (" & annee_scolaire & "," & etablissement_frequente & ", " & etc...
 
Voila!
 
Et tu fais ce que je t'ai dis plus haut pour executer tes requetes sinon tu va etre obligé de refaire un For pour l'execution de tes reketes.
A+

n°120205
Giz_
Posté le 02-04-2002 à 14:04:29  profilanswer
 

Quand je fais un response.write de reqSQL, j'ai très les valeurs de chaque champ (affichés après le VALUES)
ca m'affiche exactement comme ca par ex:
INSERT INTO cursus_scolaire (annee_scolaire, etablissement_frequente, classe_suivie, diplome_prepare, diplome_obtenu) VALUES ('2000', 'lycéé', 'term', 'bac', 'aucun';)
 
toi tu voudrais dire que mes nom de champs de ma table sont pris
pour les variables (après le INSERT INTO)?
fo que je change le nom de mes champs de ma bdd alors ...ou bien de mes variables...

 

[jfdsdjhfuetppo]--Message édité par Giz_--[/jfdsdjhfuetppo]

n°120218
dilyfe
Posté le 02-04-2002 à 14:22:15  profilanswer
 

Non pas du tout, oublies ce que je t'ai dit... je pensais que tu faisais une agrégation du nom de champ + indice pour insérer dans un champ annee_scolaire1 par exemple, mais c pas le cas apparement...
 
Kestion, à quoi servent les variables que j'ai mis en gras vu que tu ne t'en sers pas par la suite et donnes moi la structure de ta table
 
 
 
dim reqSQL, indice
for indice = 0 to Session("indice" )
annee_scolaire = "annee" & indice  
etablissement_frequente = "etablissement" & indice
classe_suivie = "classe" & indice
diplome_suivi = "diplome_suivi" & indice
diplome_obtenu = "diplome_obtenu" & indice
reqSQL = "INSERT INTO cursus_scolaire (annee_scolaire, etablissement_frequente, classe_suivie, diplome_prepare, diplome_obtenu) VALUES ('"&Session(annee_scolaire)&"', '"&Session(etablissement_frequente)&"', '"&Session(classe_suivie)&"', '"&Session(diplome_suivi)&"', '"&Session(diplome_obtenu)&"';)"
'Response.write (reqSQL)
next

mood
Publicité
Posté le 02-04-2002 à 14:22:15  profilanswer
 

n°120231
Giz_
Posté le 02-04-2002 à 14:35:26  profilanswer
 

les variables en gras servent a determiner ma variable de Session:
 
('"&Session(annee_scolaire)&"', '"&Session(etablissement_frequente)&"', '"&Session(classe_suivie)&"', '"&Session(diplome_suivi)&"', '"&Session(diplome_obtenu)&"';)"  
 
par ex: a la premiere itération je doit avoir: (sans remplacer les variables par leur valeur pour etre plus kler:)
 
('"&Session(annee0)&"', '"&Session(etablissement0)&"', '"&Session(classe0)&"', '"&Session(diplome_suivi0)&"', '"&Session(diplome_obtenu0)&"';)"
 
parce que j'ai un tableau auparavant que ce que dynamiquement (le nombre de ligne est saisi par l'utilisateur)
 
l'enregistrement ds mes variables de Session se fait comme suit:
 
<%
dim i,indice
i = (Request.Form("indice" ))
 
for indice = 0 to i
annee_scolaire = "annee" & indice  
etablissement_frequente = "etablissement" & indice
classe_suivie = "classe" & indice
diplome_suivi = "diplome_suivi" & indice
diplome_obtenu = "diplome_obtenu" & indice
Session(annee_scolaire) = Request.Form(annee_scolaire)
Session(etablissement_frequente) = Request.Form(etablissement_frequente)
Session(classe_suivie) = Request.Form(classe_suivie)
Session(diplome_suivi) = Request.Form(diplome_suivi)
Session(diplome_obtenu) = Request.Form(diplome_obtenu)
next
 
Session("indice" ) = i
Response.redirect ("Page6.asp" )
%>
 
Compris ??

n°120232
Giz_
Posté le 02-04-2002 à 14:36:15  profilanswer
 

en fait c le code qui correspond a la suite du code presenté ds mon otre topic :D

n°120246
dilyfe
Posté le 02-04-2002 à 14:53:52  profilanswer
 

Ok , c moi ki est pas reveillé, si tu fais un response.write de ta requete, ca donne koi parcke j'executes ton code et moi ca marche bien. Ton indice commence à 0, normal ?

n°120259
Giz_
Posté le 02-04-2002 à 15:12:56  profilanswer
 

normal que ca commence a zeros:
toute les variables correspondand aux champs de chaque colonne de la première ligne ont un suffixe 0.
je te l'ai deja dit si je fais un response.write de ma requete reqSQL j'ai:
 
INSERT INTO cursus_scolaire (annee_scolaire, etablissement_frequente, classe_suivie, diplome_prepare, diplome_obtenu) VALUES ('2000', 'lycéé', 'term', 'bac', 'aucun';)
 
mais si DANS la boucle je fais:
BaseTest.Open reqSQL,BaseLink
 
Ca merde !
 
si ds ma boucle je fais
 
Response.write reqSQL
j'ai la requete avec chacune des valeurs de chaque champ de chaque ligne de mon tableau.
 
ex:
 
Response.write reSQL 'me donnne ds le cas de 4 itération par ex:
 
INSERT INTO cursus_scolaire (annee_scolaire, etablissement_frequente, classe_suivie, diplome_prepare, diplome_obtenu) VALUES ('2000', 'lycéé', 'term', 'bac', 'aucun';)
 
INSERT INTO cursus_scolaire (annee_scolaire, etablissement_frequente, classe_suivie, diplome_prepare, diplome_obtenu) VALUES ('1999', 'titi', '2ème année', 'DUT', 'na';)
 
INSERT INTO cursus_scolaire (annee_scolaire, etablissement_frequente, classe_suivie, diplome_prepare, diplome_obtenu) VALUES ('1990', 'toto', 'iup', 'license', 'licence';)
 
INSERT INTO cursus_scolaire (annee_scolaire, etablissement_frequente, classe_suivie, diplome_prepare, diplome_obtenu) VALUES ('1995', 'iup', 'deug', 'deug', 'aucun';)
 
voilà c kler ou pas ?

 

[jfdsdjhfuetppo]--Message édité par Giz_--[/jfdsdjhfuetppo]

n°120266
dilyfe
Posté le 02-04-2002 à 15:15:46  profilanswer
 

Et en rajoutant un basetest.close apres execution de la requete, ca donne koi?

n°120276
Giz_
Posté le 02-04-2002 à 15:24:38  profilanswer
 

ca ne marche pas non plus....en fait j'ai pas essaié mais je crois que faire de fois de suite un  
BaseTest.Open reqSQL,BaseLink ne gene en rien

n°120279
HappyHarry
Posté le 02-04-2002 à 15:27:15  profilanswer
 

pour les requetes de type INSERT c la methode execute de l'objet connection qu'il faut utiliser  ;)

n°120295
dilyfe
Posté le 02-04-2002 à 15:35:47  profilanswer
 

HappyHarry a écrit a écrit :

pour les requetes de type INSERT c la methode execute de l'objet connection qu'il faut utiliser  ;)  




 
Tout à fait...
 
Voila ton script qui marche très bien chez moi :
<%
Set Connection = Server.CreateObject("ADODB.Connection" )
Connection.open CONNECT_TEST ' Connection OLEDB, à toi de mettre ta chaine
 
For indice = 0 to Session("indice" )
  annee_scolaire = "annee" & indice
  etablissement_frequente = "etablissement" & indice
  classe_suivie  = "classe" & indice
  diplome_suivi  = "diplome_suivi" & indice
  diplome_obtenu = "diplome_obtenu" & indice
 
  reqSQL = "INSERT INTO cursus_scolaire (annee_scolaire, etablissement_frequente, classe_suivie, diplome_prepare, diplome_obtenu)"
  reqSQL = reqSQL & " VALUES('" & Session(annee_scolaire) & "','" & Session(etablissement_frequente) & "','" & Session(classe_suivie)
  reqSQL = reqSQL & "', '" & Session(diplome_suivi) & "','" & Session(diplome_obtenu) & "';)"
  Response.write (reqSQL) & "<BR>"
  Connection.Execute reqSQL
Next
Connection.Close
Set Connection = Nothing
%>
Voila

n°120297
dilyfe
Posté le 02-04-2002 à 15:37:31  profilanswer
 

Tu avais essayé avec ca en lieu et place de ton BaseTest.Open reqSQL, BaseLink  ???

dilyfe a écrit a écrit :

Bah t'executes chaque requete à chaque boucle...
 
....
    BaseTest.Execute reqSQL
Next  



n°120309
Giz_
Posté le 02-04-2002 à 15:41:47  profilanswer
 

non!
 
mais Execute est une collection de l'objet Command non ?...et pas Connexion
 
dc ca serait plutot:
 
Set Connection = Server.CreateObject("ADODB.Command" )
non ?

 

[jfdsdjhfuetppo]--Message édité par Giz_--[/jfdsdjhfuetppo]

n°120311
HappyHarry
Posté le 02-04-2002 à 15:42:36  profilanswer
 

:non:

n°120314
Giz_
Posté le 02-04-2002 à 15:44:09  profilanswer
 

ha bon...
 
Sinon merci a tout les deux pour l'aide! thx [:giz]

n°121371
Giz_
Posté le 04-04-2002 à 15:06:55  profilanswer
 

j'ai essaié votre truc mais ca ne marche tjs pas  :(

n°121480
Giz_
Posté le 04-04-2002 à 17:18:34  profilanswer
 

:bounce:

n°121487
HappyHarry
Posté le 04-04-2002 à 17:44:09  profilanswer
 

fais voir ton code now

n°121703
dilyfe
Posté le 05-04-2002 à 10:33:21  profilanswer
 

HappyHarry a écrit a écrit :

fais voir ton code now  




 
Ouaip

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [ASP/VBSCRIPT] Help me plz....

 

Sujets relatifs
[ASP]Horreur inside!!! lisez moi caaide sur un bp en ASP
[HELP ] comment activer des macros désactiver !!?.???????[ASP] Upload d'un fichier de plusieurs Mo
plus grand que plus petit que en assembleur HELP[VC++] pb de memory leaks :( help..
[ODBC - ASP] impossible de linker ma bdd !Help me pleaaaase : garder uniquement les décimales sous VB
Quelqu'un s'y connait en ASP????[ASP/VBScript] HELP
Plus de sujets relatifs à : [ASP/VBSCRIPT] Help me plz....


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