Requête SQL avec ASP - ASP - Programmation
Marsh Posté le 03-05-2002 à 13:56:52
Connect.Execute ("Select cal_comment from t_calendar
where cal_annee = " + annee_courant + " and cal_mois = " + mois_courant + " and cal_jour = " + jour_courant)
OK ?
Marsh Posté le 03-05-2002 à 14:00:26
Urd-sama a écrit a écrit : Bon je suis pas très douée en asp et j'ai un problème avec ma requete sql dans mon code. Requete: <% Set oRs = Connect.Execute ("Select cal_comment from t_calendar where cal_annee = annee_courant and cal_mois = mois_courant and cal_jour = jour_courant" ) %> et voici l'erreur que ca me donne: Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 3 attendu. si je limite ma requete au seul select ... from, cela fonctionne. Comment je dois faire pour qu'il accepte ma requete de cette facon-là? |
Bah c'est normale que ça marche pas
Si j'ai bien compris tes paramètres c'est annee_courant,mois_courant,jour_courant
Alors la requête c'est :
<% Set oRs = Connect.Execute ("Select cal_comment from t_calendar where cal_annee = "&annee_courant&" and cal_mois = "&mois_courant&" and cal_jour = "&jour_courant) %>
Ca devrait marcher mieux avec les "& et &" qui te permmettent de passer tes paramètres
Voili voilà
Bonhomme
Marsh Posté le 03-05-2002 à 14:05:39
oui ca fonctionne merci beaucoup
maintenant j'ai un problème de format, ca me mets l'erreur suivante:
Type incompatible: '[string: "Select cal_comment f"]'
le champ est de type mémo sous access, je dois faire qqch de particulier dans le code asp?
Marsh Posté le 03-05-2002 à 16:32:45
Urd-sama a écrit a écrit : Type incompatible: '[string: "Select cal_comment f"]' |
Si ton champ est de type memo, tu dois l'encadrer par des '...'
Fais un copier/coller de cette ligne dans ton source :
Select cal_comment from t_calendar where cal_annee = '" & annee_courant & "' and cal_mois = " & mois_courant & " and cal_jour = " & jour_courant
[jfdsdjhfuetppo]--Message édité par Harkonnen le 03-05-2002 à 16:33:49--[/jfdsdjhfuetppo]
Marsh Posté le 03-05-2002 à 16:34:19
Oublie le post précédent, je me suis gentiment loupé
Urd-sama a écrit a écrit : Type incompatible: '[string: "Select cal_comment f"]' |
Tu as tapé ta requete correctement, tu n'as pas oublié de ", ou t'en a pas mis ou il ne fallait pas ?
Fais un copier/coller de cette ligne dans ton source :
Select cal_comment from t_calendar where cal_annee = " & annee_courant & " and cal_mois = " & mois_courant & " and cal_jour = " & jour_courant
Ca a l'air con, mais sous VB, si tu n'as pas d'espace entre le " et le &, tu as une erreur. Peut etre est-ce la meme chose en ASP ??
Je connais pas l'ASP, je te propose juste ceci tiré de mon expérience perso avec VB
[jfdsdjhfuetppo]--Message édité par Harkonnen le 03-05-2002 à 16:35:07--[/jfdsdjhfuetppo]
Marsh Posté le 03-05-2002 à 16:47:37
Harkonnen a écrit a écrit : Ca a l'air con, mais sous VB, si tu n'as pas d'espace entre le " et le &, tu as une erreur. Peut etre est-ce la meme chose en ASP ?? |
non, c'est le cas en asp.net mais pas en asp qui est plus tolérant
Marsh Posté le 03-05-2002 à 17:15:26
Harkonnen a écrit a écrit : Oublie le post précédent, je me suis gentiment loupé Tu as tapé ta requete correctement, tu n'as pas oublié de ", ou t'en a pas mis ou il ne fallait pas ? Fais un copier/coller de cette ligne dans ton source : Select cal_comment from t_calendar where cal_annee = " & annee_courant & " and cal_mois = " & mois_courant & " and cal_jour = " & jour_courant Ca a l'air con, mais sous VB, si tu n'as pas d'espace entre le " et le &, tu as une erreur. Peut etre est-ce la meme chose en ASP ?? Je connais pas l'ASP, je te propose juste ceci tiré de mon expérience perso avec VB |
Non pas d'erreur pour ce truc avec l'ASP je l'ai fait la semaine dernière pour un site
Bonhomme
Marsh Posté le 07-05-2002 à 13:44:38
super, merci beaucoup j'ai pu enfin régler le problème
je risque d'en rencontrer d'autres, au cas ou je vous sonnerai, en tout cas merci bokou
Marsh Posté le 08-05-2002 à 07:58:58
et voilà j'ai un autre probleme maintenant
dans une page, je récupère la date, le mois et le jour, puis fait la meme requete sql que précédemment.
ensuite, je fais une condition:
- si recordset est EndOfFile, créé un nouvel enregistrement
- sinon update le champ de commentaire du recordset
la page me fait une erreur dans les 2 cas, je cite:
"ADODB.Recordset error '800a0cb3'
Le fournisseur ou l'objet ne prend pas en charge cette opération."
c'est un probleme au niveau des permissions d'ecriture de la base de donnees access? (je n'ai rien touché à ce genre d'option, juste envoyé la base sur le serveur)
aidez-moi pour que je puisse partir en week-end l'esprit en paix
Marsh Posté le 08-05-2002 à 11:19:19
Balance le code on verra mieux parce que là à mon avis c'est une erreur de syntaxe
Bonhomme
Marsh Posté le 08-05-2002 à 19:36:43
C'est Urd qui écrit
<% jour_modif = Request.Form("jour" )
mois_modif = Request.Form("mois" )
annee_modif = Request.Form("annee" )
commentaire = Request.Form("comment" )
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection" )
ConnectDBQ="DRIVER={Microsoft Access Driver (*.mdb)};"&"DBQ="&Server.MapPath("/*********/basedonnee/calendar.mdb" )
Connect.Open ConnectDBQ
%>
<% sql= "Select * from t_calendar where cal_annee = " & annee_modif & " and cal_mois = " & mois_modif & " and cal_jour = " & jour_modif
set oRs = Connect.Execute (sql)
%>
<% if oRs.EOF = True then
oRs.AddNew
oRs.fields("cal_jour" ) = jour_modif
oRs.fields("cal_mois" ) = mois_modif
oRs.fields("cal_annee" ) = annee_modif
oRs.fields("cal_comment" ) = commentaire
oRs.Update
else
oRs.fields("cal_comment" ) = commentaire
oRs.Update
end if
oRs.Close
%>
[jfdsdjhfuetppo]--Message édité par Ataru le 08-05-2002 à 19:37:20--[/jfdsdjhfuetppo]
Marsh Posté le 08-05-2002 à 20:59:47
J'ai pas tout compris mais essai ça :
<% sql= "Select * from t_calendar where cal_annee = " & annee_modif & " and cal_mois = " & mois_modif & " and cal_jour = " & jour_modif
Set oRs = Connect.Execute (sql)
If (oRs.EOF) then
sql = "INSERT INTO T_CALENDAR (cal_jour, cal_mois, cal_annee, cal_comment) VALUES ('" & jour_modif & "', '" & mois_modif & "', '" & annee_modif & "', '" & commentaire & "'" )
Else
sql = "UPDATE T_CALENDAR SET cal_comment = "' & commentaire & "'"
End If
Connect.Execute (sql)
oRs.Close
%>
Le seul problème est que quand ttu feras ton update il faut préciser sur quel enregistrement tu le fais et donc rajouter une clause WHERE sinon tous tes enregistrements seront modifiés.
@ + : Rem'
Marsh Posté le 14-05-2002 à 15:23:02
apparemment y'a une erreur de syntaxe, ca me mets "fin d'instruction attendue" pour la ligne du insert into
pour le update, j'ai simplement spécifié la clause where comme celle du select, ce qui donne:
sql = "UPDATE T_CALENDAR SET cal_comment = "' & commentaire & "' where cal_annee = " & annee_modif & " and cal_mois = " & mois_modif & " and cal_jour = " & jour_modif
Il doit y reste des erreurs de syntaxe dans ces différentes lignes, malheureusement j'arive pas à trouver lesquelles.
Marsh Posté le 14-05-2002 à 15:46:09
Recommence avec la requête SQL suivante :
"INSERT INTO T_CALENDAR (cal_jour, cal_mois, cal_annee, cal_comment) VALUES ('" & jour_modif & "', '" & mois_modif & "', '" & annee_modif & "', '" & commentaire & "'"
(fais un copier coller)
Marsh Posté le 15-05-2002 à 09:29:49
okay l'instruction update fonctionne correctement! merci!
par contre j'ai l'erreur "Erreur de syntaxe dans l'instruction UPDATE." pour ca:
sql = "UPDATE T_CALENDAR SET cal_comment = "' & commentaire & "' where cal_annee = " & annee_modif & " and cal_mois = " & mois_modif & " and cal_jour = " & jour_modif
je suis en train de tenter de trouver l'erreur mais si jamais qqun voit ca avant moi...
Marsh Posté le 15-05-2002 à 09:39:00
Essais avec ça (preds l'habitude de metre le SQL en majuscule car cé + lisible)
sql = "UPDATE T_CALENDAR SET cal_comment = '" & commentaire & "' where cal_annee = " & annee_modif & " and cal_mois = " & mois_modif & " and cal_jour = " & jour_modif
Marsh Posté le 15-05-2002 à 10:18:57
génial! merci beaucoup tout fonctionne!!
vraiment tu me sauve la vie, fallait absolument que je finisse ce truc pour le boulot cette semaine et j'avais peur de jamais y arriver!
Vraiment un grand MERCI
Marsh Posté le 05-06-2002 à 11:08:00
coucou j'ai encore un dernier problème
quand je remplis le champ de commentaire avec un string, il me fait une erreur si je mets un apostrophe.
je dois faire un test sur la string et remplacer chaque ' par /'?
ou y'a-t-il une solution plus simple?
dans tous les cas, qqun à un code a me proposer? (vu que je suis archi nulle en syntaxe)
merci beaucoup d'avance
Marsh Posté le 03-05-2002 à 13:45:26
Bon je suis pas très douée en asp et j'ai un problème avec ma requete sql dans mon code.
Requete:
<% Set oRs = Connect.Execute ("Select cal_comment from t_calendar
where cal_annee = annee_courant
and cal_mois = mois_courant
and cal_jour = jour_courant" ) %>
et voici l'erreur que ca me donne:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 3 attendu.
si je limite ma requete au seul select ... from, cela fonctionne. Comment je dois faire pour qu'il accepte ma requete de cette facon-là?