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

Signaler
Messages postés
15
Date d'inscription
dimanche 7 mars 2004
Statut
Membre
Dernière intervention
28 décembre 2005
-
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010
-
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

Messages postés
425
Date d'inscription
mercredi 22 janvier 2003
Statut
Modérateur
Dernière intervention
13 juillet 2007

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
Messages postés
15
Date d'inscription
dimanche 7 mars 2004
Statut
Membre
Dernière intervention
28 décembre 2005

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 ?
Messages postés
425
Date d'inscription
mercredi 22 janvier 2003
Statut
Modérateur
Dernière intervention
13 juillet 2007

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
Messages postés
15
Date d'inscription
dimanche 7 mars 2004
Statut
Membre
Dernière intervention
28 décembre 2005

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??
Messages postés
425
Date d'inscription
mercredi 22 janvier 2003
Statut
Modérateur
Dernière intervention
13 juillet 2007

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
Messages postés
15
Date d'inscription
dimanche 7 mars 2004
Statut
Membre
Dernière intervention
28 décembre 2005

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>
Messages postés
425
Date d'inscription
mercredi 22 janvier 2003
Statut
Modérateur
Dernière intervention
13 juillet 2007

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
Messages postés
15
Date d'inscription
dimanche 7 mars 2004
Statut
Membre
Dernière intervention
28 décembre 2005

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. :)
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

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
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

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