Pb update

Résolu
bootchoz Messages postés 88 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 17 septembre 2006 - 19 juil. 2006 à 12:00
bootchoz Messages postés 88 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 17 septembre 2006 - 23 juil. 2006 à 22:25
bonjour,
j'effectue un update sur 1 gridview (3 champs de date) mais rien ne se passe.
voila ma requete :
CREATE PROCEDURE UpdateRole @wwid_pers varchar(50), @id_role bigint, @date_deb datetime, @date_exp datetime, @date_sup datetime
AS BEGIN TRANSACTION
 DECLARE @id_pers bigint
 SET @id_pers=(SELECT personne. id_pers FROM personne WHERE [mailto:wwid_pers=@wwid_pers wwid_pers=@wwid_pers])  UPDATE etre_attribue SET [mailto:date_deb=@date_deb date_deb=@date_deb], [mailto:date_exp=@date_exp date_exp=@date_exp], [mailto:date_sup=@date_sup date_sup=@date_sup]  WHERE( [mailto:id_pers=@id_pers id_pers=@id_pers] AND [mailto:id_role=@id_role id_role=@id_role])
 COMMIT TRANSACTION
GO
et mon gridview avec SqlDataSource :


<asp:GridView
ID="GridView1"
runat="server"
DataSourceID="list_roles_SDS"
AutoGenerateColumns="false"








EmptyDataText
="Aucun rôles ne lui sont encore attribués dans cet EN !">






<
Columns
>






<
asp
:
CommandField



ButtonType
="Image"



CancelImageUrl
="~/img/deletebis.gif"



EditImageUrl
="~/img/editbis.gif"






ShowEditButton
="True"



UpdateImageUrl
="~/img/editrhs.gif"



/>






<
asp
:
BoundField



HeaderText
="logiciel"



DataField
="nom_logi"



SortExpression
="nom_logi"



ReadOnly
="true"



/>






<
asp
:
BoundField



HeaderText
="service"



DataField
="nom_serv"



SortExpression
="nom_serv"



ReadOnly
="true"



/>






<
asp
:
BoundField



HeaderText
="ID"



DataField
="id_role"



SortExpression
="id_role"



ReadOnly
="true"



/>






<
asp
:
BoundField



HeaderText
="role"



DataField
="nom_role"



SortExpression
="nom_role"



ReadOnly
="true"



/>






<
asp
:
BoundField



HeaderText
="code"



DataField
="code_role"



SortExpression
="code_role"



ReadOnly
="true"



/>






<
asp
:
BoundField



HeaderText
="valide du..."



DataField
="date_deb"



SortExpression
="date_deb"



ControlStyle-Width
="80px"






DataFormatString
="{0:dd/MM/yyyy}"



ApplyFormatInEditMode
="true"



HtmlEncode
="false"



/>






<
asp
:
BoundField



HeaderText
="au..."



DataField
="date_exp"



SortExpression
="date_exp"



ControlStyle-Width
="80px"






DataFormatString
="{0:dd/MM/yyyy}"



ApplyFormatInEditMode
="true"



HtmlEncode
="false"



/>






<
asp
:
BoundField



HeaderText
="suppression le..."



DataField
="date_sup"



SortExpression
="date_sup"



ControlStyle-Width
="100px"






DataFormatString
="{0:dd/MM/yyyy}"



ApplyFormatInEditMode
="true"



HtmlEncode
="false"



/>






</
Columns
>






</
asp
:
GridView
>






<
asp
:
SqlDataSource



ID
="list_roles_SDS"



runat
="server"



ConnectionString
="
<%$ ConnectionStrings:AccessRequestConnectionString %>

"






SelectCommand
="SelectRoleParWwidForm"



SelectCommandType
="storedProcedure"






UpdateCommand
="UpdateRole"



UpdateCommandType
="StoredProcedure">






<
UpdateParameters
>






<
asp
:
Parameter



Name
="id_role"



Type
="int64"



/>






<
asp
:
Parameter



Name
="date_deb"



Type
="DateTime"



/>






<
asp
:
Parameter



Name
="date_exp"



Type
="DateTime"



/>






<
asp
:
Parameter



Name
="date_sup"



Type
="DateTime"



/>






<
asp
:
ControlParameter



Name
="wwid_pers"



ControlId
="wwid_L"



Type
="string"



/>






</
UpdateParameters
>






<
SelectParameters
>






<
asp
:
ControlParameter



Name
="id_form"



ControlId
="form_DDL"



Type
="int64"



/>






<
asp
:
ControlParameter



Name
="wwid_pers"



ControlId
="wwid_L"



Type
="string"



/>






</
SelectParameters
>






</
asp
:
SqlDataSource
>

merci de votre attention

6 réponses

bootchoz Messages postés 88 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 17 septembre 2006
23 juil. 2006 à 22:25
le pb ne venait pas du format de la date mais du fait que j'avais omis la propriété dataKeyName dans le gridview => lors de l'execution de la requête l'update ne pouvait etre fait puisque la ligne à updater etait inconnue !!!
3
bootchoz Messages postés 88 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 17 septembre 2006
19 juil. 2006 à 16:19
si quelqu'un pouvait m'aider, je ne vois vraiment pas le pb ?
est ce que ca pourrait venir des parametres ?
j'ai essayé en les mettant entre simples cotes.
aucune erreur n'est affichée.
merci d'avance
0
cs_azra Messages postés 425 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 13 juillet 2007 1
19 juil. 2006 à 16:30
Dans un premier temps, est ce que la procedure stockée seule fonctionne?

<hr />Azra(Florent) - MVS- MCSD.NET
0
bootchoz Messages postés 88 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 17 septembre 2006
20 juil. 2006 à 12:06
la procédure n'enregistre pas les bonnes dates : toutes à 01/01/1900
j'avais modifié le format de la date dans le gridview : '20/07/2006'
je viens d'ajouer un champs pour inserer la date du jour lors de l'insertion : getDate() et l'insertion de ce champs est correct avec le format '20/07/2006 12:02:22'.
0

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

Posez votre question
bootchoz Messages postés 88 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 17 septembre 2006
20 juil. 2006 à 13:33
si je cast les dates de cette facon, rien ne se passe (test de la procédure stockée)
UPDATE etre_attribue SET demandeur_wwid=19016710, date_demande=getDate(),
 date_deb=01/01/2006+CAST(' 00:00:00' as datetime), date_exp=01/01/2007,
 date_sup=01/01/2007
 WHERE( id_pers=1 AND id_role=1)
0
bootchoz Messages postés 88 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 17 septembre 2006
20 juil. 2006 à 13:37
qd je dis rien ne se passe je veux dire que le resultat est identique : toutes les dates prennent la valeur de 01/01/1900
0
Rejoignez-nous