Pb ecriture DB

Résolu
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011 - 8 août 2007 à 10:19
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 10 août 2007 à 00:13
 Bonjour à tous et toutes, je demande votre aide car je suis confronté à un problème que je ne comprends pas. j'ai récupéré un script pour uploader un fichier sur ce site. cela fonctionne tres bien. je cherche ensuite à enregistrer le nom de fichier dans une base de donnée et c'est la que ca se corse. voici le script :

 <form method=post ENCTYPE="multipart/form-data">
    File :

   
  </form>



<!--#INCLUDE FILE="upload.inc" --->
<!--#INCLUDE FILE="connect.asp" --->
<%
version=request.querystring("version")
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  Set Fields = GetUpload()
  FilePath = Server.MapPath(".") & "\doc" & Fields("File1").FileName
  Fields("File1").Value.SaveAs FilePath


fichier=Fields("File1").FileName
sql="insert into scan (pj) values ('"&fichier&"') where version='"&version&"' ;"
response.write(sql)
set rs=conn.Execute(sql)


End If
%>

l'erreur retournée :



Microsoft JET Database Engine error '80040e14'



Point-virgule absent à la fin de l'instruction SQL.



/scan/upload.asp
, line 25



A votre bon coeur m'sieur dame...

6 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
9 août 2007 à 13:53
pas possible ...
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
3
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
8 août 2007 à 10:23
Petite précision, lorsque j'enlève le where dans la requete sql, le nom de fichier s'ecrit bien dans la base sur l'enregistrement suivant.
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
8 août 2007 à 17:27
il ne faut simplement pas mettre de where ... et en + ton truc est sensible l'injection !!
voici le même code en amélioré ...

<!--#INCLUDE FILE="upload.inc" --->
<!--#INCLUDE FILE="connect.asp" --->
<%
Function Pure(S)
Pure = Replace(S, "'", "''")
End Function<hr />
Dim version, Fields, FilePath, fichier, sql
version = Request.querystring("version")
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Set Fields = GetUpload()
FilePath = Server.MapPath(".") & "\doc\" & Fields("File1").FileName
Fields("File1").Value.SaveAs FilePath
fichier = Fields("File1").FileName
sql = "insert into scan (pj,version) values ('" & Pure(fichier) & "','" & Pure(version) & "');"
response.write (sql)
Set rs = conn.Execute(sql)
End If , ----
By Renfield
%>
<form method=post ENCTYPE="multipart/form-data">
File :

</form>

_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
0
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
9 août 2007 à 08:49
Merci d'avoir répondu. cette version ne correspond pas tout a fait a mon besoin. en effet les "version" existent deja dans ma base et je dois inserer "pj" dans l'enregistrement qui correspond (je recupere  le numero de version avec le querystring) il est donc primordial de pouvoir mettre le where dans ma requete.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
9 août 2007 à 14:05
Evidemment pas possible !!! quel idiot je suis j'utilise INSERT a la place d'UPDATE ca fait trois jours que je me demande d'ou vient l'erreur du script !!!

En tout cas merci pour ton aide
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 août 2007 à 00:13
Je me disais bien ...

_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
0
Rejoignez-nous