Problème ASP + SQL server

Signaler
Messages postés
18
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
12 mai 2005
-
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007
-
Mon problème est que je veux ecrire ici un nom dans ma table ACTEUR avec le champ nom_acteur. j ai utilisé la syntaxe proposé par le site, je voudrais inscrit un nouveau nom ici tony mais dans la base ca ajoute bien une nouvelle ligne mais elle est vierge ca ne rajoute pas tony
voici le code:
<%
Set conn = Server.CreateObject("ADODB.Connection")
connstring = "driver={SQL Server}; server=***;uid=****;pwd=***;database=****"
conn.open connstring


Set rs = Server.CreateObject("ADODB.recordset")
sql = "INSERT INTO ACTEUR (nom_acteur) values"
sql = sql + "('"&tony&"')"
Set rs = conn.Execute(sql)
%>

Merci d'avance

5 réponses

Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour

Au lieu de

Set rs = Server.CreateObject("ADODB.recordset")
sql = "INSERT INTO ACTEUR (nom_acteur) values"
sql = sql + "('"&tony&"')"
Set rs = conn.Execute(sql)



Faire :


Set rs = Server.CreateObject("ADODB.command")
sql = "INSERT INTO ACTEUR (nom_acteur) values"
sql = sql + "('"&tony&"')"

rs.activeConnection=connString

rs.commandText=sql
rs.Execute



Cordialement
Roro webDev
Messages postés
18
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
12 mai 2005

Merci a toi
mais j ai essayé ca ne marche toujours pas
donc si tu as plus simple pour ecrire dans une table de nouvelles données venant d'un formulaire je suis preneur merci
cordialement
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour

Ce que je fais habituellement :

set rs=server.createObject("adodb.recordset")

rs.activeConnection=connString

rs.source="select * from laTable where laClef=-1"

rs.CursorType = 2

rs.CursorLocation = 2

rs.LockType = 3

rs.Open()



rs.addNew

rs("champs1")=request("...")

rs("champs2")=request("...")

rs.update



Commentaires :

Certains te diront que ce sera moins performant que de balancer une
requête sql. Ils auront probablement raison. Tout dépends de l'ambition
que tu compte donner à ton site (trois insertions par jour ou 25000 à
l'heure ?)


Les trois lignes en vert peuvent peut-être suffire à résoudre ton problème.



Avantage de la méthode : la maintenance est beaucoup plus aisée que de construire une requête SQL.



La clef=-1 me permet de recevoir un recordset vide, puisque la finalité
est d'ajouter un enregistrement.J'évite de saturer le serveur de bd


Cordialement
Roro webDev
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
salut,

tony c'est une variable ou le nom que tu veux ajouter ?????

si c'est le nom il faut faire
sql = sql + "('tony')"

yopyop
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour

C'est très juste.

Une solution, pour "débugguer", c'est de faire un

response.write(sql), pour voir la gueule de la requête que tu balance. Souvent, ça aide...

Cordialement
Roro webDev