Modifier le Gridview en visual studio 2005 (asp.net2)

hotlines Messages postés 15 Date d'inscription dimanche 7 mars 2004 Statut Membre Dernière intervention 28 décembre 2005 - 28 déc. 2005 à 14:03
cs_New_World Messages postés 53 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 15 juillet 2010 - 6 juin 2007 à 13:46
bonjour , j'ai un petit problème avec le dabagrid , quand je veux modifier un enregistrement directement sur le Gridview il me m'affiche m'erreur suivante :


Server Error in '/WebSite1' Application.
<HR width= "100%" color=silver SIZE=1>


Updating is not supported by data source 'SqlDataSource1' unless UpdateCommand is specified.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NotSupportedException: Updating is not supported by data source 'SqlDataSource1' unless UpdateCommand is specified.

Source Error:


An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:


[NotSupportedException: Updating is not supported by data source 'SqlDataSource1' unless UpdateCommand is specified.]
System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues) +741
System.Web.UI.DataSourceView.Update(IDictionary keys, IDictionary values, IDictionary oldValues, DataSourceViewOperationCallback callback) +78
System.Web.UI.WebControls.GridView.HandleUpdate(GridViewRow row, Int32 rowIndex, Boolean causesValidation) +1218
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +853
System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +191
System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +172
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4919




<HR width ="100%" color=silver SIZE=1>
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42 <!--
[NotSupportedException]: Updating is not supported by data source 'SqlDataSource1' unless UpdateCommand is specified.
at System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues)
at System.Web.UI.DataSourceView.Update(IDictionary keys, IDictionary values, IDictionary oldValues, DataSourceViewOperationCallback callback)
at System.Web.UI.WebControls.GridView.HandleUpdate(GridViewRow row, Int32 rowIndex, Boolean causesValidation)
at System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup)
at System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
[HttpUnhandledException]: Exception of type 'System.Web.HttpUnhandledException' was thrown.
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.default_aspx.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
-->

10 réponses

cs_azra Messages postés 425 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 13 juillet 2007 1
28 déc. 2005 à 14:07
Le message dit que tu n'as pas définit de méthode update au niveau de ta SQLDataSource, voila le problème.
Il faut que tu modifies ta source de données ou que tu la parametres, par contre, j ai besoin de plus d'informations pour t'aider :)


<HR>
Azra (Florent) - MVS - MCAD.NET
0
hotlines Messages postés 15 Date d'inscription dimanche 7 mars 2004 Statut Membre Dernière intervention 28 décembre 2005
28 déc. 2005 à 14:13
merci de m'avoir donner une réponse suite a mon message , qu'est ce que vous voulez dire par parametrer mon sqldatasource ? est ce que je dois le faire au nuveau des propriétés de sqldatasource ?
0
cs_azra Messages postés 425 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 13 juillet 2007 1
28 déc. 2005 à 14:22
Re-bonjour,

Voici un exemple de SQLDataSource 2.0 qui prend en compte l'update:


"
InsertCommand="INSERT INTO [auteur] ([idauteur], [nom], [prenom]) VALUES (@idauteur, @nom, @prenom)"
SelectCommand="SELECT * FROM [auteur]" UpdateCommand="UPDATE [auteur] SET [nom] = @nom, [prenom] = @prenom WHERE [idauteur] = @idauteur">

Pour le faire via l'assistant, écran de configuration de la datasource, lors tu choisis la table ou tu veux faire ta requête, il faut cliquer sur "Avanced..." et cocher la case generate update, delete and insert statement.

Je pense que c'est cette étape que tu as oublié.

Bon courage!


<HR>
Azra (Florent) - MVS - MCAD.NET
0
hotlines Messages postés 15 Date d'inscription dimanche 7 mars 2004 Statut Membre Dernière intervention 28 décembre 2005
28 déc. 2005 à 14:31
Merci encore pr la réponde , mais quand je clique sur le bouton advenced lors de la configuration de mon SQLDATASource je trouve les cases a coché désactivé comme sur la photo


est ce que il ya un moyens des activés??
0

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

Posez votre question
cs_azra Messages postés 425 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 13 juillet 2007 1
28 déc. 2005 à 14:33
Hmm, tu fais une requête sur plusieurs tables ou sur une seule? Si sur plusieurs c'est normal que cela soit desactivé, il n'est pas capable de faire de l'update comme ceci par défault.


<HR>
Azra (Florent) - MVS - MCAD.NET
0
hotlines Messages postés 15 Date d'inscription dimanche 7 mars 2004 Statut Membre Dernière intervention 28 décembre 2005
28 déc. 2005 à 14:41
C'est bon , j'ai trouvé pq c"étais désactivé , il fallait que je met un de mes champs de ma table client comme clé primaire
alors je suis aller a ma base de données et j'ai mis un champs tant que clé primaire puis ca marche puis j'ai testé mon code
et les mofication marche très bien sur mon Gridview , voici le code qui marche et encore merci pr ta précieuse aide , il
me reste qu'un probleme au niveau de dreamveaver , la mise a jour de gridview ne marche pas mais je vais essayé comme meme
le plus imporant ce qu'elle marche sur visual studio 2005 :


<%
@
Page
Language="VB"
AutoEventWireup="false"
CodeFile="Default.aspx.vb"
Inherits="_Default" %>


<!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
runat="server">



<title>Untitled Page
</title>


</head>





<form
id="form1"
runat="server">



&nbsp;



&nbsp;
"
DeleteCommand="DELETE FROM [client] WHERE [nom] = @original_nom AND [prenom] = @original_prenom"



InsertCommand="INSERT INTO [client] ([nom], [prenom]) VALUES (@nom, @prenom)"



OldValuesParameterFormatString="original_{0}"
SelectCommand="SELECT * FROM [client]"



UpdateCommand="UPDATE [client] SET [prenom] = @prenom WHERE [nom] = @original_nom AND [prenom] = @original_prenom">



<DeleteParameters>







</DeleteParameters>

























<Columns>









</Columns>





</form>




</html>
0
cs_azra Messages postés 425 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 13 juillet 2007 1
28 déc. 2005 à 14:46
Effectivement j'avais oublié le coup de la clé primaire (et surtout unique donc obligatoire pour l'update ligne par ligne) :)

"dreamveaver", hérétique :)

Bon courage pour la suite!


<HR>
Azra (Florent) - MVS - MCAD.NET
0
hotlines Messages postés 15 Date d'inscription dimanche 7 mars 2004 Statut Membre Dernière intervention 28 décembre 2005
28 déc. 2005 à 14:48
je sais que je demande bcp , mais est ce que je peux avoir le plaisir d'avoir votre msn l'histoir de partager
nos expériences ,je serai honoré de vous avoir sur ma liste de contact : mon msn : mc_gladiator@hotmail.com

merci. :)
0
cs_New_World Messages postés 53 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 15 juillet 2010
4 juin 2007 à 18:54
SVP c urgent j ai eu le meme probleme mai moi c parce que j utilise plusieur table et jsai pa comment resoudre SVP aidez moi
et merci d avance

 un seul bras n'applaudis jamais
0
cs_New_World Messages postés 53 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 15 juillet 2010
6 juin 2007 à 13:46
salut c encore moi SVP est ce qu il ya personne qui peux m aider ?!?
en fait j ai essayer de travailler avec une vue de Sql server 2000 mais meme proble les case a cocher du update est desactiver
merciii

 un seul bras n'applaudis jamais
0
Rejoignez-nous