Update et delete dans un GridView relié à un SqlDataSource

gabiset Messages postés 53 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 9 novembre 2007 - 3 janv. 2007 à 17:03
gabiset Messages postés 53 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 9 novembre 2007 - 11 janv. 2007 à 09:14
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

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
4 janv. 2007 à 22:58
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
0
gabiset Messages postés 53 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 9 novembre 2007 1
11 janv. 2007 à 09:14
      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
0
Rejoignez-nous