Update et delete dans un GridView relié à un SqlDataSource

Signaler
Messages postés
53
Date d'inscription
mercredi 14 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2007
-
gabiset
Messages postés
53
Date d'inscription
mercredi 14 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2007
-
Bonjour,
J'ai un GridView relié à un SqlDataSource qui récupère des données dans une base MySQL et affiche le contenu à l'écran. Mais si je veux utiliser les propriétés Update et Delete du SqlDataSource, cela ne marche pas. Je n'ai pas de message d'erreur, mais ma base n'est pas modifiée.
Voici mon code :

    [mailto:RefClient=@RefClient,RefArticle=@RefArticle,TARIF=@TARIF RefClient=@RefClient,RefArticle=@RefArticle,TARIF=@TARIF] WHERE ([mailto:ClefPrimaire=@original_ClefPrimaire ClefPrimaire=@original_ClefPrimaire])"
        DeleteCommand="DELETE FROM test WHERE ([mailto:ClefPrimaire=@original_ClefPrimaire ClefPrimaire=@original_ClefPrimaire])" >
        <DeleteParameters>
            [mailto:ClefPrimaire=@original_ClefPrimaire ClefPrimaire='5'])"
au lieu de
DeleteCommand="DELETE FROM test WHERE ([mailto:ClefPrimaire=@original_ClefPrimaire ClefPrimaire=@original_ClefPrimaire])"
alors ça me détruis bien l'enregistrement dont la clé primaire vaut 5.

On dirait que le fait de mettre @ devant un champ n'est pas reconnu...

Je travaille sous Visual Studio 2005 Pro, en ASP NET 2.0.

Merci pour votre aide.

Delphine

2 réponses

Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
17
Bonsoir, je ne comprend pas pourquoi tu utilises le paramètre "original_ClefPrimaire" plutot que tout simplement "ClefPrimaire". Je ne suis pas un expert en la matière mais je crois que dans ce cas tu as pas besoin du original_

Ensuite il se peut que cela ne fonctionne pas car tu utilises une base MySql, pourquoi ne pas utiliser Sql Express qui est gratuit et surtout ASP.net et SQL server se marient très bien ensemble.

Le @ fonctionne il me semble seulement pour sql server, avec une connexion ODBC tu dois remplacer tes @truc par des ? voir cet article pour plus d'info http://msdn2.microsoft.com/en-us/library/z72eefad.aspx et surement de nombreux autres sur le net :-)

<hr />Cyril - MVS - MCP
Messages postés
53
Date d'inscription
mercredi 14 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2007
1
      Bonjour,
Désolée de répondre si tardivement mais je m'étais absentée. Merci beaucoup jesusonline, j'ai remplacé les @champs par des ? et ça marche !!!.


Effectivement, je n'avais pas besoin de original_.


Quant à MySQL, je ne peux pas m'en passer car je travaille sur un projet que je maintiens et qui est codé avec MySQL...

Merci encore pour ton aide.

Delphine