Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Modification d'un élément dans une base de donnée [ Archives ASP & ASP.NET / ASP.net ] (onha)

mardi 24 juillet 2001 à 16:30:15 | Modification d'un élément dans une base de donnée

onha

Bonjour,

Bon voilà, j'ai une base de donnée sous access.

J'ai récupéré un script pour permettre la modification d'un élément dans une base de donnée. Le pb c'est que j'ai un message d'erreur, comme je débute (vous avez compris :))

Voilà le script<% id = Request.QueryString("id") %>
<%
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
SQLQuery = "SELECT * FROM table1 where Id =" & id & ""
Set RS = OBJdbConnection.Execute(SQLQuery)
%>

<%
Action = Left(UCase(Request("Action")),5)
If Action="ENVOY" Then
sql = "update table1 "
sql = sql & "Set Nom =" & Request("Nom")' ","
sql = sql & "Prenom ='" & Request("Prenom") & "',"
sql = sql & "Age ='" & Request("Age") & "' "
sql = sql & "WHERE Id =" & Request("Id")
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
Set RS1 = OBJdbConnection.Execute(SQL)
End If
%>

<FORM METHOD="post">
<INPUT TYPE="hidden" NAME="Id" VALUE="<% =rs("Id") %>">
<P>Nom</P>
<INPUT TYPE="text" NAME="Nom" VALUE="<% =rs("Nom") %>">
<P>Prénom</P>
<INPUT TYPE="text" NAME="Prenom" VALUE="<% =rs("Prenom") %>">
<P>Age</P>
<INPUT TYPE="text" NAME="Age" VALUE="<% =rs("Age") %>">
<INPUT TYPE="Submit" NAME="Action" VALUE="ENVOYER">
</FORM>



... et voici le message d'erreur

Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Erreur de syntaxe (opérateur absent) dans l'expression 'Id ='.

/demoasp4/mod.asp, ligne 5


Si quelqu'un à une idée

Merci d'avance



mardi 24 juillet 2001 à 17:24:51 | Re : Modification d'un élément dans une base de donnée

tiffou

salut,

bon le probleme est le suivant
"id" est une valeur que tu récupères d'une page précédente par la méthode "get".

visiblement, tu ne récupère pas cette variable.

Voici ce que je crois :
1 : tu n'a pas pas respecté la casse de ta variable :
'Request.QueryString("id")' ou bien est-ce 'Request.QueryString("Id")'

2 : tu n'a pas utilisé la méthode "get" (ta variable Id doit apparaître dans l'url) mais la méthode "post" donc dans ce cas tu dois utiliser 'request.form("")'


voila j'espère que cela t'aidera
à+




-------------------------------
Réponse au message :
-------------------------------

Bonjour,

Bon voilà, j'ai une base de donnée sous access.

J'ai récupéré un script pour permettre la modification d'un élément dans une base de donnée. Le pb c'est que j'ai un message d'erreur, comme je débute (vous avez compris :))

Voilà le script<% id = Request.QueryString("id") %>
<%
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
SQLQuery = "SELECT * FROM table1 where Id =" & id & ""
Set RS = OBJdbConnection.Execute(SQLQuery)
%>

<%
Action = Left(UCase(Request("Action")),5)
If Action="ENVOY" Then
sql = "update table1 "
sql = sql & "Set Nom =" & Request("Nom")' ","
sql = sql & "Prenom ='" & Request("Prenom") & "',"
sql = sql & "Age ='" & Request("Age") & "' "
sql = sql & "WHERE Id =" & Request("Id")
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
Set RS1 = OBJdbConnection.Execute(SQL)
End If
%>

<FORM METHOD="post">
<INPUT TYPE="hidden" NAME="Id" VALUE="<% =rs("Id") %>">
<P>Nom</P>
<INPUT TYPE="text" NAME="Nom" VALUE="<% =rs("Nom") %>">
<P>Prénom</P>
<INPUT TYPE="text" NAME="Prenom" VALUE="<% =rs("Prenom") %>">
<P>Age</P>
<INPUT TYPE="text" NAME="Age" VALUE="<% =rs("Age") %>">
<INPUT TYPE="Submit" NAME="Action" VALUE="ENVOYER">
</FORM>



... et voici le message d'erreur

Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Erreur de syntaxe (opérateur absent) dans l'expression 'Id ='.

/demoasp4/mod.asp, ligne 5


Si quelqu'un à une idée

Merci d'avance




mercredi 25 juillet 2001 à 17:34:21 | Re : Modification d'un élément dans une base de donnée

onha

Ok tiffou

Merci d'avoir bien voulu répondre à mon message.

A vrai dire je nage.

J'ai modifié le script et ça marche a moitié.

<% id = Request.QueryString("id") %>
<%Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
SQLQuery = "SELECT * FROM table1 WHERE Id "
Set RS = OBJdbConnection.Execute(SQLQuery)%>
<%Action = Left(UCase(Request("Action")),5)
If Action="ENVOY" Then
sql = "update table1 "
sql = sql & "Set Nom ='" & Request("Nom")& "',"
sql = sql & "Prenom ='" & Request("Prenom") & "',"
sql = sql & "Age ='" & Request("Age") & "' "
sql = sql & "WHERE Id =" & Request("Id")
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
Set RS1 = OBJdbConnection.Execute(SQL)
End If%>
<FORM METHOD="GET">
<INPUT TYPE="hidden" NAME="Id" VALUE="<% =rs("Id") %>">
<P>Nom</P>
<INPUT TYPE="text" NAME="Nom" VALUE="<% =rs("Nom") %>">
<P>Prénom</P>
<INPUT TYPE="text" NAME="Prenom" VALUE="<% =rs("Prenom") %>">
<P>Age</P>
<INPUT TYPE="text" NAME="Age" VALUE="<% =rs("Age") %>">
<INPUT TYPE="Submit" NAME="Action" VALUE="ENVOYER">
</FORM>

je m'explique

qd j'ouvre le fichier il m'affiche la première donnée de la base, je pense qu'il doit y avoir un lien avec modif que j'ai faite.
SQLQuery = "SELECT * FROM table1 WHERE Id "
comment lui dire que je veux modifier l'Id n° 14

Si tu as une idée. Merci


au sinon quand je modifie l'enregistrement qui m'affiche il mets bien a jour la base. C'est un miracle :)



jeudi 26 juillet 2001 à 10:17:26 | Re : Modification d'un élément dans une base de donnée

tiffou

salut,

le probleme pour ton code est le suivant :

lorsque tu arrive la première fois sur ta page
la valeur de ton id = vide et donc ton 1er select ne marchera pas.

tu peux avoir plusieurs méthodes en voici une :

<%
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"

id = trim(Request.QueryString("Id")

SQLQuery = "SELECT * FROM table1 order by id asc "


Action = Left(UCase(Request("Action")),5)
If Action="ENVOY" Then

sql = "update table1 "
sql = sql & "Set Nom ='" & Request("Nom")& "',"
sql = sql & "Prenom ='" & Request("Prenom") & "',"
sql = sql & "Age ='" & Request("Age") & "' "
sql = sql & "WHERE Id =" & Request("Id")
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
Set RS1 = OBJdbConnection.Execute(SQL)

'ici si tu es dans le cas ENVOYER
SQLQuery = "SELECT * FROM table1 WHERE id=" & id

End If

' la requete se trouve ici
Set RS = OBJdbConnection.Execute(SQLQuery)
%>
<FORM METHOD="GET">
<INPUT TYPE="hidden" NAME="Id" VALUE="<% =rs("Id") %>">
<P>Nom</P>
<INPUT TYPE="text" NAME="Nom" VALUE="<% =rs("Nom") %>">
<P>Prénom</P>
<INPUT TYPE="text" NAME="Prenom" VALUE="<% =rs("Prenom") %>">
<P>Age</P>
<INPUT TYPE="text" NAME="Age" VALUE="<% =rs("Age") %>">
<INPUT TYPE="Submit" NAME="Action" VALUE="ENVOYER">
</FORM>


voila en gros..

conseil : fais des tests tout de même pour savoir si tu as des enregistrements dans ta base pour éviter des erreurs

allez à+




-------------------------------
Réponse au message :
-------------------------------

Ok tiffou

Merci d'avoir bien voulu répondre à mon message.

A vrai dire je nage.

J'ai modifié le script et ça marche a moitié.

<% id = Request.QueryString("id") %>
<%Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
SQLQuery = "SELECT * FROM table1 WHERE Id "
Set RS = OBJdbConnection.Execute(SQLQuery)%>
<%Action = Left(UCase(Request("Action")),5)
If Action="ENVOY" Then
sql = "update table1 "
sql = sql & "Set Nom ='" & Request("Nom")& "',"
sql = sql & "Prenom ='" & Request("Prenom") & "',"
sql = sql & "Age ='" & Request("Age") & "' "
sql = sql & "WHERE Id =" & Request("Id")
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
Set RS1 = OBJdbConnection.Execute(SQL)
End If%>
<FORM METHOD="GET">
<INPUT TYPE="hidden" NAME="Id" VALUE="<% =rs("Id") %>">
<P>Nom</P>
<INPUT TYPE="text" NAME="Nom" VALUE="<% =rs("Nom") %>">
<P>Prénom</P>
<INPUT TYPE="text" NAME="Prenom" VALUE="<% =rs("Prenom") %>">
<P>Age</P>
<INPUT TYPE="text" NAME="Age" VALUE="<% =rs("Age") %>">
<INPUT TYPE="Submit" NAME="Action" VALUE="ENVOYER">
</FORM>

je m'explique

qd j'ouvre le fichier il m'affiche la première donnée de la base, je pense qu'il doit y avoir un lien avec modif que j'ai faite.
SQLQuery = "SELECT * FROM table1 WHERE Id "
comment lui dire que je veux modifier l'Id n° 14

Si tu as une idée. Merci


au sinon quand je modifie l'enregistrement qui m'affiche il mets bien a jour la base. C'est un miracle :)




jeudi 26 juillet 2001 à 10:10:46 | Re : Modification d'un élément dans une base de donnée

tiffou

salut,

le probleme pour ton code est le suivant :

lorsque tu arrive la première fois sur ta page
la valeur de ton id = vide et donc ton 1er select ne marchera pas.

tu peux avoir plusieurs méthodes en voici une :

<%
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"

id = trim(Request.QueryString("Id")

SQLQuery = "SELECT * FROM table1 order by id asc "


Action = Left(UCase(Request("Action")),5)
If Action="ENVOY" Then

sql = "update table1 "
sql = sql & "Set Nom ='" & Request("Nom")& "',"
sql = sql & "Prenom ='" & Request("Prenom") & "',"
sql = sql & "Age ='" & Request("Age") & "' "
sql = sql & "WHERE Id =" & Request("Id")
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
Set RS1 = OBJdbConnection.Execute(SQL)

'ici si tu es dans le cas ENVOYER
SQLQuery = "SELECT * FROM table1 WHERE id=" & id

End If

' la requete se trouve ici
Set RS = OBJdbConnection.Execute(SQLQuery)
%>
<FORM METHOD="GET">
<INPUT TYPE="hidden" NAME="Id" VALUE="<% =rs("Id") %>">
<P>Nom</P>
<INPUT TYPE="text" NAME="Nom" VALUE="<% =rs("Nom") %>">
<P>Prénom</P>
<INPUT TYPE="text" NAME="Prenom" VALUE="<% =rs("Prenom") %>">
<P>Age</P>
<INPUT TYPE="text" NAME="Age" VALUE="<% =rs("Age") %>">
<INPUT TYPE="Submit" NAME="Action" VALUE="ENVOYER">
</FORM>


voila en gros..

conseil : fais des tests tout de même pour savoir si tu as des enregistrements dans ta base pour éviter des erreurs

allez à+




-------------------------------
Réponse au message :
-------------------------------

Ok tiffou

Merci d'avoir bien voulu répondre à mon message.

A vrai dire je nage.

J'ai modifié le script et ça marche a moitié.

<% id = Request.QueryString("id") %>
<%Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
SQLQuery = "SELECT * FROM table1 WHERE Id "
Set RS = OBJdbConnection.Execute(SQLQuery)%>
<%Action = Left(UCase(Request("Action")),5)
If Action="ENVOY" Then
sql = "update table1 "
sql = sql & "Set Nom ='" & Request("Nom")& "',"
sql = sql & "Prenom ='" & Request("Prenom") & "',"
sql = sql & "Age ='" & Request("Age") & "' "
sql = sql & "WHERE Id =" & Request("Id")
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
Set RS1 = OBJdbConnection.Execute(SQL)
End If%>
<FORM METHOD="GET">
<INPUT TYPE="hidden" NAME="Id" VALUE="<% =rs("Id") %>">
<P>Nom</P>
<INPUT TYPE="text" NAME="Nom" VALUE="<% =rs("Nom") %>">
<P>Prénom</P>
<INPUT TYPE="text" NAME="Prenom" VALUE="<% =rs("Prenom") %>">
<P>Age</P>
<INPUT TYPE="text" NAME="Age" VALUE="<% =rs("Age") %>">
<INPUT TYPE="Submit" NAME="Action" VALUE="ENVOYER">
</FORM>

je m'explique

qd j'ouvre le fichier il m'affiche la première donnée de la base, je pense qu'il doit y avoir un lien avec modif que j'ai faite.
SQLQuery = "SELECT * FROM table1 WHERE Id "
comment lui dire que je veux modifier l'Id n° 14

Si tu as une idée. Merci


au sinon quand je modifie l'enregistrement qui m'affiche il mets bien a jour la base. C'est un miracle :)




vendredi 27 juillet 2001 à 18:18:52 | Re : Modification d'un élément dans une base de donnée

onha


Ok tiffou

Super quand je modifie un élément de la base, la mise à jour apparaît tout de suite. cool

Une dernière petite chose.

Peux me dire comment faire pour appeler un enregistrement de la base pour modifier un champ.

Exemple

Id Nom Prenom Age
1 TOTO TATA 29
2 TOTO2 TATA2 35
3 TOTO3 TATA3 45


Comment appeler l'Id numéro 2 et modifier dans le script que tu as fait ?

J'espère que tu ma compris.

Dans l'attente. Merci encore

onha

vendredi 27 juillet 2001 à 18:20:22 | Re : Modification d'un élément dans une base de donnée

onha



A j'oublié connais tu un bouquin qui pourrait m'aider à faire de la programmation en ASP

Merci

onha



Cette discussion est classé dans : élément, base, donnée, erreur, modification


Répondre à ce message

Sujets en rapport avec ce message

modification du contenu de ma base = erreur '80040e14' [ par jpeg ] Je veux modifier ma base Access en ligne.J'ai choisi la POSTPour créer c'est O.KPour supprimer c'est O.K mais pour modifier j'ai le message d'erreur Erreur 80004005 [ par Freddddy ] Bonjour,J'utilise un fichier mdb (Access) comme base de donnée pour mon site. Sur le poste de développement, la BD marche parfaitement et est super ra erreur lors de laccès à ma base de donnée [ par mohamed_bn ] med belhassenj'ai développé une application asp.net pour un forum qui fonctionne correctement sur mon PC (équipé de winXP et IIS 6.0 et visual studio Problème de dll avec access 2003 [ par paterbis ] Bonjour à tous et merci pour m'accepter dans ce forum. J'ai une basse de donnée créée par moi-même et fonctionnant avec access. Elle marchait bien jus Caractère d'échappement ASP.NET [ par vmasson ] Bonjour a tous. Voila g un petit problème avec une ecriture dans la base de données.J'ai un champs texte que je dois écrire dans ma base. Dans ce cham modification d'une base en asp.net...? [ par zezel ] bonjour les gens,je me suis lancé ce soir  à faire une petite page pour la gestion de ma cave à vins pour me faire la main ^^pour ca, jai pris mon fro Débuttant de chez débutant paumé [ par vins31 ] Bonjour, Par ou commencer lol ? j'ai fait une petite base de donnée sous access 2003 jusqu'ici ca va  j'ai voulu mettre ma base de donnée en ligne po Probleme de modification d'un champs d'une base access. [ par gerfaut11 ] BonjourJ'ai une page asp qui me permet de modifier un e montrer une ligne en particulier de la base de donnée dans page ASP?? [ par raphaL ] Bonjour, J'ai une base de donnée très simple dans un fichier csv, qui contient 2 colonnes: "Nom" et "Message" J'ai besoin de créer des pages ASP qui taille d'une base de donnée (oracle) [ par tarik69100 ] Bonjours, j'ai un petit problem !!! vous pouvez m'aidez :-(?en ma question est:1* comment je peux calculer la taille d'une base de donnée ?2* aussi le


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.