begin process at 2012 05 27 19:25:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

Débutants

 > 

developpeur PHP veut faire de l'ASP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

developpeur PHP veut faire de l'ASP

mardi 7 janvier 2003 à 15:24:48 | developpeur PHP veut faire de l'ASP

salma

Bonjour et bonne annee 2003!

Je suis bien rodee en PHP et voila que je me retrouve face a l'ASP.

On me demande de commenter ce code, et j'ai un peu du mal...

<%
table=request("table")
requete="insertSQL"

set conn = Server.CreateObject("ADODB.Connection")
conn.open session("afriDSN")
set rs = Server.CreateObject("ADODB.recordset")

rs.open "SELECT TOP 1 " & table & ".* FROM " & table,conn

dim champs()
dim typechamps()
redim champs(rs.fields.count)
redim typechamps(rs.fields.count)

for i=0 to rs.fields.count-1
champs(i)=rs(i).name
typechamps(i)=rs(i).type
next

sql = "INSERT INTO " & table & " ("
for i=0 to rs.fields.count-1
if lcase(champs(i))<>"no" and request.form(champs(i))<>"" then
sql = sql & lcase(champs(i)) & ","
end if
next
sql=left(sql,len(sql)-1)
sql = sql & ") "

sql = sql & "SELECT "
for i=0 to rs.fields.count-1
if lcase(champs(i))<>"no" and request.form(champs(i))<>"" then
if lcase(champs(i))="date_mod" then
sql = sql & "{ fn Now() }"
else
select case typechamps(i)
case 8,129,130,200,201,202,203
' type chaine
sql = sql & "'"
sql = sql & replace(request.form(champs(i)),"'","''")
sql = sql & "'"
case 133,134,135
' type date
if session("serveurLoc")="local" then
' moteur jet access
sql = sql & "#"
sql = sql & month(request.form(champs(i)))
sql = sql & "/"
sql = sql & day(request.form(champs(i)))
sql = sql & "/"
sql = sql & year(request.form(champs(i)))
sql = sql & "#"
else
' moteur sql server
sql = sql & "CONVERT(DATETIME, '"
sql = sql & year(request.form(champs(i)))
sql = sql & "-"
sql = sql & month(request.form(champs(i)))
sql = sql & "-"
sql = sql & day(request.form(champs(i)))
sql = sql & "', 102)"
end if
case else
' type num, boolean, ...
sql = sql & replace(request.form(champs(i)),"'","''")
end select
end if
sql = sql & ","
end if
next
sql=left(sql,len(sql)-1)

rs.close

conn.execute(sql)
%>

QQN peut m'aider please ???
mardi 7 janvier 2003 à 22:25:34 | Re : developpeur PHP veut faire de l'ASP

Mcjo

Membre Club
<%
'recuperation de la variable table (contrairement au php ou la recupe est auto), passer en get ou post
table=request("table")
'affectation de la valeur "insertSQL" a la variable requette
requete="insertSQL"

'creation d'un object serveur ADOB.connection (permet de connecter une bdd
set conn = Server.CreateObject("ADODB.Connection")
'ouverture de la connection dont les parametre on été passer en session le terme session("afriDSN") est une variable de session comme celle qui existe en php
conn.open session("afriDSN")
'declaration de l'objet table
set rs = Server.CreateObject("ADODB.recordset")

'ouverture de la table :
'ouverture simple (2 parametre : chaine sql, nom de la connection a utiliser ici conn
rs.open "SELECT TOP 1 " & table & ".* FROM " & table,conn

'declaration de variable
dim champs()
dim typechamps()
'redimention de variable pour en faire des tableau
'champ est indexé de 0 au nombre de champ ou colonne de la table et typechamp aussi
redim champs(rs.fields.count)
redim typechamps(rs.fields.count)

'on parcour de i à rs.fields.count - 1 les champ etant indexé à partir de 0 donc pour parcourrir tous les champs on va de 0 à nombre de champ - 1
'debut de la boucle
for i=0 to rs.fields.count-1
'on affecter champ(i) (c'est un tableau) le nom du champ i
champs(i)=rs(i).name
'on affecter typechamp(i) (c'est un tableau) le type du champ i (entier, texte, memo, oui/non, ...)
typechamps(i)=rs(i).type
'next signale la fin de boucle
next

'on affecte la chaine de caractere
'"INSERT INTO " et la valeur de table et " (" a la variable sql
sql = "INSERT INTO " & table & " ("
'nouvelle boucle for
for i=0 to rs.fields.count-1
'si la valeur mise en minuscule contenu dans la case i du tableau champ est <> de "no" et que on a recuperer dans le formulaire (request.form) une valeur nom vide pour le <input> ou <select> qui a pour nom la valeur incluse dans la case i de champ
if lcase(champs(i))<>"no" and request.form(champs(i))<>"" then
'alors on sql est egale à sql et la valeur mise en minuscule de la case i de champ
sql = sql & lcase(champs(i)) & ","
'fin si
end if
'fin de la boucle for
next
'bon left tu doit comprendre tout seul et len ca compte le nombre de caractere
sql=left(sql,len(sql)-1)

'bon la aussi
sql = sql & ") "

'la encore
sql = sql & "SELECT "
'couble for
for i=0 to rs.fields.count-1
if lcase(champs(i))<>"no" and request.form(champs(i))<>"" then
if lcase(champs(i))="date_mod" then
sql = sql & "{ fn Now() }"
else
'select case typechamp c commenter
select case typechamps(i)
case 8,129,130,200,201,202,203
' type chaine
sql = sql & "'"
'replace rempleve les ' par des ' ' dans la valeur recuperer du formulaire
sql = sql & replace(request.form(champs(i)),"'","''")
sql = sql & "'"
case 133,134,135
' type date
'ca ca sert a l'ecriture des dates la gestion des dates etant differente entre acces est sqlserver
if session("serveurLoc")="local" then
' moteur jet access
sql = sql & "#"
sql = sql & month(request.form(champs(i)))
sql = sql & "/"
sql = sql & day(request.form(champs(i)))
sql = sql & "/"
sql = sql & year(request.form(champs(i)))
sql = sql & "#"
else
' moteur sql server
sql = sql & "CONVERT(DATETIME, '"
sql = sql & year(request.form(champs(i)))
sql = sql & "-"
sql = sql & month(request.form(champs(i)))
sql = sql & "-"
sql = sql & day(request.form(champs(i)))
sql = sql & "', 102)"
end if
case else
' type num, boolean, ...
sql = sql & replace(request.form(champs(i)),"'","''")
end select
end if
sql = sql & ","
end if
next
sql=left(sql,len(sql)-1)
'fermeture de la table
rs.close
'il manque set rs = nothing pour detruire l'objet
'fermeture de la connection
conn.execute(sql)
'il manque set conn = nothing idem

%>





-------------------------------
Réponse au message :
-------------------------------

> Bonjour et bonne annee 2003!
>
> Je suis bien rodee en PHP et voila que je me retrouve face a l'ASP.
>
> On me demande de commenter ce code, et j'ai un peu du mal...
>
> <%
> table=request("table")
> requete="insertSQL"
>
> set conn = Server.CreateObject("ADODB.Connection")
> conn.open session("afriDSN")
> set rs = Server.CreateObject("ADODB.recordset")
>
> rs.open "SELECT TOP 1 " & table & ".* FROM " & table,conn
>
> dim champs()
> dim typechamps()
> redim champs(rs.fields.count)
> redim typechamps(rs.fields.count)
>
> for i=0 to rs.fields.count-1
> champs(i)=rs(i).name
> typechamps(i)=rs(i).type
> next
>
> sql = "INSERT INTO " & table & " ("
> for i=0 to rs.fields.count-1
> if lcase(champs(i))<>"no" and request.form(champs(i))<>"" then
> sql = sql & lcase(champs(i)) & ","
> end if
> next
> sql=left(sql,len(sql)-1)
> sql = sql & ") "
>
> sql = sql & "SELECT "
> for i=0 to rs.fields.count-1
> if lcase(champs(i))<>"no" and request.form(champs(i))<>"" then
> if lcase(champs(i))="date_mod" then
> sql = sql & "{ fn Now() }"
> else
> select case typechamps(i)
> case 8,129,130,200,201,202,203
> ' type chaine
> sql = sql & "'"
> sql = sql & replace(request.form(champs(i)),"'","''")
> sql = sql & "'"
> case 133,134,135
> ' type date
> if session("serveurLoc")="local" then
> ' moteur jet access
> sql = sql & "#"
> sql = sql & month(request.form(champs(i)))
> sql = sql & "/"
> sql = sql & day(request.form(champs(i)))
> sql = sql & "/"
> sql = sql & year(request.form(champs(i)))
> sql = sql & "#"
> else
> ' moteur sql server
> sql = sql & "CONVERT(DATETIME, '"
> sql = sql & year(request.form(champs(i)))
> sql = sql & "-"
> sql = sql & month(request.form(champs(i)))
> sql = sql & "-"
> sql = sql & day(request.form(champs(i)))
> sql = sql & "', 102)"
> end if
> case else
> ' type num, boolean, ...
> sql = sql & replace(request.form(champs(i)),"'","''")
> end select
> end if
> sql = sql & ","
> end if
> next
> sql=left(sql,len(sql)-1)
>
> rs.close
>
> conn.execute(sql)
> %>
>
> QQN peut m'aider please ???
mercredi 8 janvier 2003 à 07:18:29 | Re : developpeur PHP veut faire de l'ASP

Jackboy

Petit qqchose, fairte attention au commentaire, vérifier si tu fais un copier colle à ce que chaque ligne de commentaire commence par '

gentil mcjo


Cette discussion est classée dans : form, end, sql, request, champs


Répondre à ce message

Sujets en rapport avec ce message

Cette opération n'est pas autorisée si l'objet est fermé. [ par IvanTheBlackDog ] Bonjour à tous, Voila j'ai petit problème j'ai fait un script qui verifie une variable et selon ce que la variable contient on fait une conditionnel p Boucle avec INSERT [ par patmich ] Bonjour, Voilà j'ai un petit souci avec un formulaire où l'utilisateur rempli par exemple 10 champs "noms" et "emails", ces champs sont insérés dans A problem Global.asa [ par oda95 ] Bonjour,J'ai des soucis avec, je pense mon Global.asa qui ne se connecte pas a la BD Access et ne mettre pas les informations voulu...Pourtant tout es update en sql [ par Kaydara ] Bonjour,j'essaie de faire deux update un après l'autrele premier met à jour la base correcttement et le deuxième ne passe pas.voici le code :SQL2 = "U pb entre asp et sql pour l'apostrophe [ par rodman ] Mon pb est pour le champ LCAUSE. En effet dans ce champ il y a des D' et des L'. Or sql ne peut les insérer dans la base. C'est pour cela que j'ai ess pb entre asp et sql pour l'apostrophe [ par rodman ] Mon pb est pour le champ LCAUSE. En effet dans ce champ il y a des D' et des L'. Or sql ne peut les insérer dans la base. C'est pour cela que j'ai ess probleme sur une requete sql [ par kyff ] Salut et merci de lire ce petit message. J'interroge une bd access via une source ASP. La parti du code (tout en bas)permettant d'afficher que les art S'il vous plait !!! [ par sschupp ] J'en peux plus, g trouve pas !Pourquoi la première fonction tourne bien comme il faut et pas la seconde ?Note : je programme en ASP, connexion à une b insertion champs vide [ par xclear ] salut à vous v'la j'ai ca comme code et je voudrais pouvoir conserver le champs titre vide si je le désire et enregistrer le tout dans une base access problème d'accent [ par chdum53 ] Je ne sais pas si mon problème est vraiment relié avec asp, mais lorsque je reçois des données d'un formulaire Adobe acrobat 6.0 dans une page aspx no


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales