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 29/08/2007, 16h48   #1
Invité de passage
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 3
Points : 3
Par défaut Ajouter des éléments dans une base de données Access

Bonjour,

j'ai fait un formulaire d'ajout et une connexion à une base access.
Mon problème c'est que quand je veux le tester sur le serveur , rien ne fonctionne, j'ai une page blanche.
Quelqu'un pourrait m'aider?

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!-- #include file="_connexion.asp"-->
 
 
 
Ajout de la fiche :
 
<%
' Sélectionne toutes les fiches de la table "Document"
SQL="SELECT * FROM [Doc]"
Set RS = server.createobject("ADODB.Recordset")
RS.Open SQL,Conn , 3, 3
' Ajoute la nouvelle fiche
RS.addnew
RS("Titre")=Request.form("Titre")
RS("Reference")=Request.form("Reference")
RS.update
%> 
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Gestion Docs</title>
<script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
<link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
</head>
 
<body>
<script type="text/javascript">
	function check()
	{
		if (document.formRecherche.ref.value == '')
		{
			var erreur = document.getElementById("erreur");
			document.erreur.innerHTML = 'Erreur au niveau de la référence !';
			document.erreur.style.visibility = 'visible';
			return false;
		}
		return true;
	}
 
      <div class="TabbedPanelsContent" align="center">
        <p style="color:#0099FF ; font-size:large;">
        	Ajout de documents        </p>
        <form name="formAjout" method="post" action="ajout.php" style="width:70%;text-align:left;padding: 10px 10px 10px 10px; margin:auto">
            <table width="100%" border="0" cellpadding="10" cellspacing="10">
              <tr>
                <td>Reference : </td>
                <td><input type="text" name="ref"  /></td>
              </tr>
              <tr>
                <td>Titre : </td>
                <td><input type="text" name="titre"  /></td>
              </tr>
              <tr>
 
var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
//-->
</script>
</body>
</html>

Code de connexion

Code :
1
2
3
4
5
6
7
8
9
10
11
12
<%
' Path long de la base de données
dbPath = Server.MapPath("../documents.mdb")
' Création de l'objet permettant la connexion
Set Conn = Server.CreateObject("ADODB.Connection")
' Connexion
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};Pwd=;" _
   & " DBQ=" & dbPath
 
 
 
%>
bidule123456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 17h33   #2
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 247
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 247
Points : 1 204
Points : 1 204
Envoyer un message via MSN à kaiser59
Salut,

Tu peux m'expliquer pourquoi ta page d'ajout contient l'extension .php ? si tu travailles en ASP

De plus en asp tu peux évité le rs.addnew il te suffit de faire une requête avec Insert into.
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 09h41   #3
Invité de passage
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 3
Points : 3
je voudrais savoir un code de connexion qui n'utilise pas l'ODBC mais qui soit web , sans avoir besoin de la configuration ODBC mais web.
bidule123456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 09h54   #4
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
ODBC ou OLEDB sont indispensable pour attaquer une base de données. Par contre un DSN n'est pas indispensable (ce n'est qu'un alias pour une connexion). Est-ce de cela que tu parles ? Pourquoi ne veux-tu pas d'ODBC ou OLEDB ?
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 09h55   #5
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Bonjour,

Citation:
Envoyé par bidule123456 Voir le message
je voudrais savoir un code de connexion qui n'utilise pas l'ODBC mais qui soit web , sans avoir besoin de la configuration ODBC mais web.
Tu peux nous traduire ça en français ?
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 09h58   #6
Invité de passage
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 3
Points : 3
En fait , pour pouvoir me connecter à une base de données ; je configurais mon ordi avec l'ODBC.
Mais mon maître de stage me dit qu'il ne veut pas de ce genre de connexion , mais qu'il voudrait une connexion de type web.
tu comprends mieux là? ou pas du tout?
bidule123456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 10h07   #7
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
Essaye plutôt ce genre de code-ci pour ta connexion:
Code :
1
2
3
4
5
6
7
 
Dim objConnection
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionString = 
      "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=GuruData.mdb;"
objConnection.ConnectionTimeout = 0
objConnection.Open
Je crois que c'est de ce genre-là !
Attention à ton chemin vers ta BDD: il doit être relatif à la racine de ton site
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 15h35   #8
Membre du Club
 
Inscription : juin 2007
Messages : 90
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 90
Points : 52
Points : 52
ok merci pour la connexion
j'ai trouvé un code sur internet grâce au conseil de marabout donc il ya 2 pages, une page pour le code html

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
<html>
<body><form method="post" action="demo_add.asp">
<table>
<tr>
<td>CustomerID:</td>
<td><input name="custid"></td>
</tr><tr>
<td>Company Name:</td>
<td><input name="compname"></td>
</tr><tr>
<td>Contact Name:</td>
<td><input name="contname"></td>
</tr><tr>
<td>Address:</td>
<td><input name="address"></td>
</tr><tr>
<td>City:</td>
<td><input name="city"></td>
</tr><tr>
<td>Postal Code:</td>
<td><input name="postcode"></td>
</tr><tr>
<td>Country:</td>
<td><input name="country"></td>
</tr>
</table>
<br /><br />
<input type="submit" value="Add New"> 
<input type="reset" value="Cancel">
</form></body>
</html>
et une autre page , avec les requetes en asp

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
<html>
<body><%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"sql="INSERT INTO customers (customerID,companyname,"
sql=sql & "contactname,address,city,postalcode,country)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("custid") & "',"
sql=sql & "'" & Request.Form("compname") & "',"
sql=sql & "'" & Request.Form("contname") & "',"
sql=sql & "'" & Request.Form("address") & "',"
sql=sql & "'" & Request.Form("city") & "',"
sql=sql & "'" & Request.Form("postcode") & "',"
sql=sql & "'" & Request.Form("country") & "')"on error resume next
conn.Execute sql,recaffected
if err<>0 then
  Response.Write("No update permissions!")
else 
  Response.Write("<h3>" & recaffected & " record added</h3>")
end if
conn.close
%>
 
</body>
</html>

ce que j'aimerais savoir , est que la connexion se fait avec l'ODBC ?
Quels fichiers est ce que je dois tester sur mon serveur?? le premier ou le second??
meryem85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 15h51   #9
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
Citation:
Envoyé par meryem85 Voir le message
ok merci pour la connexion

ce que j'aimerais savoir , est que la connexion se fait avec l'ODBC ?
Quels fichiers est ce que je dois tester sur mon serveur?? le premier ou le second??
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
<html>
<body><%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
connstring=server.mappath("northwind.mdb")
conn.Open connstring
sql="INSERT INTO customers (customerID,companyname,"
sql=sql & "contactname,address,city,postalcode,country)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("custid") & "',"
sql=sql & "'" & Request.Form("compname") & "',"
sql=sql & "'" & Request.Form("contname") & "',"
sql=sql & "'" & Request.Form("address") & "',"
sql=sql & "'" & Request.Form("city") & "',"
sql=sql & "'" & Request.Form("postcode") & "',"
sql=sql & "'" & Request.Form("country") & "')"on error resume next
conn.Execute sql,recaffected
if err<>0 then
  Response.Write("No update permissions!")
else 
  Response.Write("<h3>" & recaffected & " record added</h3>")
end if
conn.close
%>
 
</body>
</html>
Heureux d'avoir pu t'aider mais attention, sur le web, ne mets jamais des chemin physiques (comme "c:/webdata/northwind.mdb") mais plutôt des chemins relatifs i.e. à partir de la racine de ton site web (la racine est l'endroit où se trouve ta page index).

La méthode mappath de l'objet server recalculera le chemin physique de ton fichier peut importe où il se trouve d'où mon changement des lignes suivantes:
Code :
1
2
3
 
connstring=server.mappath("northwind.mdb")
conn.Open connstring
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 16h05   #10
Membre du Club
 
Inscription : juin 2007
Messages : 90
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 90
Points : 52
Points : 52
Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<body><form method="post" action="add2.asp">
<table>
<tr>
<td>reference:</td>
<td><input name="reference"></td>
</tr><tr>
<td>Titre:</td>
<td><input name="titre"></td>
</tr><tr>
 
</table>
<br /><br />
<input type="submit" value="Add New"> 
<input type="reset" value="Cancel">
</form></body>
</html>

Voilà j'ai adapté mon code à ce que je veux faire ,il ne fonctionne pas ...je ne sais pas si c'est un problème de connexion à la base mais je pense que c'est ca... qu'est ce que vous en pensez?
meryem85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 16h07   #11
Membre du Club
 
Inscription : juin 2007
Messages : 90
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 90
Points : 52
Points : 52
Code :
1
2
3
4
5
6
7
8
9
Dim objConnection
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionString = 
      "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=GuruData.mdb;"
objConnection.ConnectionTimeout = 0
objConnection.Open 
 
connstring=server.mappath("northwind.mdb")
conn.Open connstring
vous n'avez pas été clair dans vos instructions...il faut que je rajoute le code l'un au dessus de l'autre c'est cela que vous me dites???
meryem85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 16h43   #12
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
Citation:
Envoyé par meryem85 Voir le message
Code :
1
2
3
4
5
6
Dim objConnection
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionString = 
      "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("GuruData.mdb")
objConnection.ConnectionTimeout = 0
objConnection.Open
vous n'avez pas été clair dans vos instructions...il faut que je rajoute le code l'un au dessus de l'autre c'est cela que vous me dites???
Non, regarde bien, j'ai corrigé dans ton code dans ce post ci
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 16h49   #13
Membre du Club
 
Inscription : juin 2007
Messages : 90
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 90
Points : 52
Points : 52
Est ce que je peux mettre ce code directement dans mon formulaire?
meryem85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 16h53   #14
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
Je comprends pas !?

Tu mets ton code, comme tu l'avais très bien mis dans ton premier post, en début de page de récupération (la seconde page) !
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 09h27   #15
Membre du Club
 
Inscription : juin 2007
Messages : 90
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 90
Points : 52
Points : 52
oui comme ceci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
tml>
<body><%
Dim objConnection
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("base.mdb")
objConnection.ConnectionTimeout = 0
objConnection.Open "sql="INSERT INTO customers (reference,titre)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("reference") & "',"
sql=sql & "'" & Request.Form("titre") & "',"on error resume next
conn.Execute sql,recaffected
if err<>0 then
  Response.Write("No update permissions!")
else 
  Response.Write("<h3>" & recaffected & " record added</h3>")
end if
conn.close
%>
 
</body>
</html>


mais le souci c'est que cela ne fonctionne pas...
il me met page introuvable....je comprend pas pkoi
meryem85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 10h32   #16
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
ta base de données est-elle bien dans le même dossier que ta page asp ?
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 10h38   #17
Membre du Club
 
Inscription : juin 2007
Messages : 90
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 90
Points : 52
Points : 52
oui jé mis mes 2 pages asp plus ma base de données....ya pas une erreur dans mon code
l'erreur est ligne 8

Code :
"sql="INSERT INTO customers (reference,titre)"
je vois pas trop où est mon erreur là???
meryem85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 10h40   #18
Membre du Club
 
Inscription : juin 2007
Messages : 90
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 90
Points : 52
Points : 52
plus précisément

Error Type:
Microsoft VBScript compilation (0x800A0400)
Expected statement
/TECHPUB1/TRANSFERT/Fatima/Projet/add2.asp, line 8
meryem85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 10h43   #19
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
Citation:
Envoyé par meryem85 Voir le message
oui jé mis mes 2 pages asp plus ma base de données....ya pas une erreur dans mon code
l'erreur est ligne 8

Code :
"sql="INSERT INTO customers (reference,titre)"
je vois pas trop où est mon erreur là???
Si tu l'as écrit tel quel, il y a effectivement des " en trop devant ta ligne
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 10h45   #20
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
Et tu oublies de dire ce que tu insères (ton instruction INSERT N'est pas complète, il manque une partie)
marabout 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 23h03.


 
 
 
 
Partenaires

Hébergement Web