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 14/03/2007, 11h32   #1
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 67
Points : 30
Points : 30
Par défaut Requete Insert - besoin de précisions

Bonjour,

En m'inspirant d'un tuto trouvé sur ce site permettant de faire un Select, j'essaie de créer un script qui insérerait des données dans ma base sql server.

Le code suivant fonctionne mais, on peut voir que l'instruction
est en commentaire.
En effet, si ce n'est pas le cas, j'obtiens une page d'erreur HTTP 500, Impossible d'afficher la page...

D'où quelques questions :
- Est-ce que l'objet ADODB.RecordSet est adapté pour procéder à un Insert ?
(Le résultat d'un Insert est a priori différent de celui d'un Select)
- Si c'est adapté, n'est-ce pas génant de ne pas pouvoir "fermer" l'objet ?
- Si ce n'est pas adapté, quel est l'objet à mettre en oeuvre pour effectuer un Insert (et éventuellement un Update et un Delete pour la suite de mon apprentissage )

Merci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<%
	Classe = request.Form("NomClasse")
	Prof = request.Form("ProfPrinc")
 
	' Declaration de la connexion
	Set conn = Server.CreateObject("ADODB.Connection")
	' Chaine de connexion
	connstring = "driver={SQL Server};server=localhost;uid=test;pwd=mdp;database=Etablissement_Lambda"
	' Ouverture de la connexion
	conn.open connstring 
 
	' Requete
	sql = "insert into Classes (Nom_Classe, Professeur_Principal) values ('" & Classe & "', '" & Prof & "')"
	' Declaration du jeu d'enregistrements
	Set RS = Server.CreateObject("ADODB.RecordSet")
	' Execution de la requete
	RS.Open sql, conn
 
	' Fermeture des objets
'	RS.close
	conn.close
	' Libération des objets
	set conn = nothing
	set RS = nothing
 
	response.Redirect "JulTest.asp"
%>
sqlnoob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 12h06   #2
Membre actif
 
Avatar de lapanne
 
Inscription : juin 2006
Messages : 200
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 200
Points : 168
Points : 168
Envoyer un message via MSN à lapanne
Code :
1
2
3
4
5
6
7
8
9
CyberSchool = Server.CreateObject("ADODB.Connection")
 
CyberSchool.Open(connexion_string) 
cmdTemp = Server.CreateObject("ADODB.Command")
 
cmdTemp.CommandText = "INSERT INTO matable VALUES (champ1,champ2) VALUES (values1,value2)"
cmdTemp.CommandType = 1
cmdTemp.ActiveConnection = CyberSchool
cmdTemp.Execute


Pour tout ce qui est requete qui ne renvoie pas de table.

Note : c'est du Javascript mais ça marche en VBscript.
lapanne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 12h14   #3
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Salut,

Moi pour insérer des enregistrements dans ma base de données, j'utilise cette synthaxe là :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
'Requete
sql = "Select * From Classes"
 
'Declaration du jeu d'enregistrements
Set RS = Server.CreateObject("ADODB.RecordSet")
'Execution de la requete
RS.Open sql, conn, 3, 3
 
RS.addnew
 
RS("Nom_Classe")=Classe
RS("Professeur_Principal")=Prof
 
RS.update
Cette manière fonctionne ché moi, et il n'y a aucun problème pour fermer les recordsets ensuite...
__________________
Je vaux 5 677 200 € sur HumainAVendre.com, et vous ? http://www.humainavendre.com

Sab
sab_etudianteBTS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 12h18   #4
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 67
Points : 30
Points : 30
J'ai fait comme ça, ça marche tres bien

<%
Classe = request.Form("NomClasse")
Prof = request.Form("ProfPrinc")

' Declaration de la connexion
Set conn = Server.CreateObject("ADODB.Connection")
' Chaine de connexion
connstring = "driver={SQL Server};server=localhost;uid=test;pwd=mdp;database=Etablissement_Lambda"
' Ouverture de la connexion
conn.open connstring

' Declaration de la commande
Set Com = Server.CreateObject("ADODB.Command")
' Requete
Com.CommandText = "insert into Classes (Nom_Classe, Professeur_Principal) values ('" & Classe & "', '" & Prof & "')"
' On définit la connexion
Com.ActiveConnection = conn
' Execution de la requete
Com.Execute

' Fermeture des objets
conn.close
' Libération des objets
set conn = nothing

response.Redirect "JulTest.asp"
%>

Merci à vous
sqlnoob est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h25.


 
 
 
 
Partenaires

Hébergement Web