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 02/02/2007, 22h16   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 3
Points : 0
Points : 0
Par défaut Je ne parviens pas à supprimer un enregistrement dans ma base de données

Bonjour,

Je cherche a effacer une ligne de ma base avec ce script, et je n'y arrive pas, je suis tres debutant qui peut me trouver la ou les erreurs.. en m'expliquant ???

10000 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
28
29
30
31
32
33
34
35
36
37
<% 
Dim Connection, ConnectionString
Dim Liste
 
Dim SQLQuery
Set Connection = Server.CreateObject("ADODB.Connection")
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
              "Data Source=" & Server.MapPath("\faridbajjou\db\export.mdb") & ";" & _
              "Persist Security Info=False"
Connection.Open(ConnectionString)
Set Liste = Server.CreateObject("ADODB.Recordset")
 
if Request.queryString("Service") <> "" then
VA = "('" & Request("Service") & "'," & Request("Code") & "," & Request("Prix") & ")"
SQLQuery = "DELETE FROM produits WHERE (Service,Code,Prix) VALUES " & VA
Set Liste = Connection.Execute(SQLQuery)
   message="Service <b>" & Request.queryString("Service") _
      & "</b> supprimé !"
end if
 
Err.Clear
On Error Resume Next
Connection.Execute(SQLQuery)
 
 
'Response.Write("<BR>" & Err.NativeError & "<BR>")
'Response.Write("<BR>" & Err.SQLState & "<BR>")
'Response.Write("<BR>" & Err.Source & "<BR>")
'Response.Write("<BR>" & Err.Description  & "<BR>")
 
 
	Connection.close
	Set Liste=Nothing
	Set Connection=Nothing
	Set SQLQuery=Nothing 
	response.redirect "affliste.asp"
%>
fbajjou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2007, 10h37   #2
Membre du Club
 
Développeur Web
Inscription : décembre 2004
Messages : 89
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 89
Points : 53
Points : 53
Bonjour,

On Error Resume Next c'est bien mais faut faire attention avec ça
Je te propose de le mettre en commentaire pour voir si tu as d'autres message d'erreur en plus que ceux que tu affiches

Pour le traitement des erreurs, si tout ton code est dans une fonction, tu peux faire ceci par exemple :
Code :
1
2
3
4
5
6
7
8
 
Function ...(...)
	On Error Resume Next
	...
	If Err.Number <> 0 Then
		response.Write("<br>Number:" & Err.Number & "<br>Description:" &     Err.Description & "<br>Source:" & Err.Source & "<br>")
	End If
End Function



Au niveau de ta requète SQL :
Code :
SQLQuery = "DELETE FROM produits WHERE (Service,Code,Prix) VALUES " & VA
Je ne connaissais pas cette synthaxe dans la clause WHERE, tu est certain de celle-ci ?
Essaie un peu ceci :
Code :
SQLQuery = "DELETE FROM produits WHERE Service= " & Request.querystring("Service") & " AND Code= " & Request.querystring("Code") & " AND Prix= " & Request.querystring("Prix") & ";"
Il y a des erreurs ici :
Code :
1
2
3
if Request.queryString("Service") <> "" then
VA = "('" & Request("Service") & "'," & Request("Code") & "," & Request("Prix") & ")"
...
ça devrait être
Code :
1
2
3
if Request.queryString("Service") <> "" then
VA = "('" & Request.queryString("Service") & "'," & Request.queryString("Code") & "," & Request.queryString("Prix") & ")"
...
Pour tester, n'hésite pas non plus afficher certaines variables ou ta requête SQL par exemple, ainsi tu peux la copier et l'exécuter directement dans le DBMS pour être certain qu'elle est correcte

A l'avenir, n'oublie pas d'utiliser les balises CODE

le "...O Secour" dans le titre n'est pas indispensable, certaines personnes zappent directement le message à cause de cela

Bon journée,

Phil
Philoulheinz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 00h37   #3
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Slt,

Rajoute * si tu veux effacer toute la ligne

Ce qui donne : Delete * From ....
et n'indique pas tout les champs de la table il te suffit juste de récuperer l'index qui correspond à ta ligne genre le champ qui correspond à ta clé primaire

par exemple un numéro de licence dans un sport est forcément unique un numéro de licence de peut pas etre attribué à deux joueurs.

En gros sa te donnerais ceci :
Delete * From Service where id="& Request.form("index") &""

(form c'est si tu utilise la method post dans ton cas c querystring )


Où id est en hidden si jamais tu fais affiché tes valeurs dans ta page ou tu montre les valeurs de la ligne à effacer


++
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h49.


 
 
 
 
Partenaires

Hébergement Web