IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Update BDD SQL


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut Update BDD SQL
    J'ai créé un détailView, contenant trois champs, en mode Insertion. Une fois rempli, sur clic sur le bouton Insertion, il doit donc envoyer les données saisies dans une BDD SQL.

    Mais, alors que les champs sont bien remplis, je reçois après le clic un msg comme quoi aucun champ n'accepte la valeur Null. C'est comme si au moment de la validation, les champs s'effaçaient, et rien n'était intégré dans la base. Les valeurs d'origines sont conservées

    Avez-vous un tuyau à ce sujet ? J'ai bien spécifié INSERT COMMAND, et les PARAMETERS pour chacun des champs... voir code ci-après. Note : le Champ1 est la clé primaire (compteur).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
                SelectCommand="SELECT * FROM [Table1] WHERE ([Champ1] = @Champ1)" OldValuesParameterFormatString="original_{0}"
                   UpdateCommand="UPDATE [Table1] SET [Champ2]=@Champ2,[Champ3]=@Champ3,[Champ4]=@Champ4,[Champ5]=@Champ5  WHERE [Champ1]=@Champ1"
                InsertCommand="INSERT INTO [Table1] (Champ2, Champ3, Champ4, Champ5) VALUES (@Champ2, @Champ3, @Champ4, @Champ5) "  >
                <SelectParameters>
                    <asp:QueryStringParameter DefaultValue="1" Name="Champ1" QueryStringField="Variable" Type="Int32" />
                </SelectParameters>
                <UpdateParameters>
                    <asp:Parameter Name="Champ1" Type="Int32" />
                    <asp:Parameter Name="Champ2" Type="Datetime" />
                    <asp:Parameter Name="Champ3" Type="string" />
                    <asp:Parameter Name="Champ4" Type="string" />
                    <asp:Parameter Name="Champ5" Type="string" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:Parameter Name="Champ1" Type="Int32" />
                    <asp:Parameter Name="Champ2" Type="Datetime" />
                    <asp:Parameter Name="Champ3" Type="string" />
                    <asp:Parameter Name="Champ4" Type="string" />
                    <asp:Parameter Name="Champ5" Type="string" />
                </InsertParameters>
             </asp:SqlDataSource>
    Merci pour votre aide !


  2. #2
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    poste stp l'erreur au complet,, ca nous donnera plus d'infos pour t aider..

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut
    Voici le code corrigé de quelques éléments. Mais le problème est maintenant le suivant : si j'effectue des modifs sur mes enregistrements en mode Edition, lors du clic sur le bouton Modifier (qui devrait envoyer les nouv. valeurs dans la BDD) => les valeurs d'origine sont conservées. Et là non plus, pas de message d'erreur, on a simplement le même enregistrement avant et après...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DG_BDD %>"
                SelectCommand="SELECT * FROM [Actu1] WHERE ([Num] = @Num)" OldValuesParameterFormatString="original_{0}" ConflictDetection="CompareAllValues" 
                DeleteCommand="DELETE FROM [Actu1] WHERE [Num] = @original_Num AND [Date] = @original_Date AND [Cat] = @original_Cat AND [Bref] = @original_Bref AND [Corps] = @original_Corps" 
                InsertCommand="INSERT INTO [Actu1] ([Date], [Cat], [Bref], [Corps]) VALUES (@Date, @Cat, @Bref, @Corps)" 
                UpdateCommand="UPDATE [Actu1] SET [Date] = @Date, [Cat] = @Cat, [Bref] = @Bref, [Corps] = @Corps WHERE [Num] = @original_Num AND [Date] = @original_Date AND [Cat] = @original_Cat AND [Bref] = @original_Bref AND [Corps] = @original_Corps"  >
                <SelectParameters>
                    <asp:QueryStringParameter DefaultValue="1" Name="Num" QueryStringField="NumActu"
                        Type="Int32" />
                </SelectParameters>
                 <DeleteParameters>
                     <asp:Parameter Name="original_Num" Type="Int32" />
                     <asp:Parameter Name="original_Date" Type="DateTime" />
                     <asp:Parameter Name="original_Cat" Type="String" />
                     <asp:Parameter Name="original_Bref" Type="String" />
                     <asp:Parameter Name="original_Corps" Type="String" />
                 </DeleteParameters>
                 <UpdateParameters>
                     <asp:Parameter Name="Date" Type="DateTime" />
                     <asp:Parameter Name="Cat" Type="String" />
                     <asp:Parameter Name="Bref" Type="String" />
                     <asp:Parameter Name="Corps" Type="String" />
                     <asp:Parameter Name="original_Num" Type="Int32" />
                     <asp:Parameter Name="original_Date" Type="DateTime" />
                     <asp:Parameter Name="original_Cat" Type="String" />
                     <asp:Parameter Name="original_Bref" Type="String" />
                     <asp:Parameter Name="original_Corps" Type="String" />
                 </UpdateParameters>
                 <InsertParameters>
                     <asp:Parameter Name="Date" Type="DateTime" />
                     <asp:Parameter Name="Cat" Type="String" />
                     <asp:Parameter Name="Bref" Type="String" />
                     <asp:Parameter Name="Corps" Type="String" />
                 </InsertParameters>
              </asp:SqlDataSource>

    Peut-être faut-il un événement sur le bouton ? Lequel puis-je insérer de manière àassurer la prise en compte des modifications ?

  4. #4
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    dans ton SQLDAtasource1 supprime la valeur du parametre "OldValuesParameterFormatString", il faut qu'il soit vide..

    et dans les parametres de la requete update, supprime egalement les préfixes "original_xxx" garde juste le nom du parametre...

    Essaie comme ça pour voir.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut
    Merci pour l'info.

    En fait l'erreur résidait dans le type de données : c'était des champs en texte, et les passer en nvarchar résoud mon problème. En effet, pour la modif et la suppression de données, un message d'erreur me disait que les comparaisons sur les types text, ntext et image ne peuvent s'effectuer.

    J'ai donc changé les types dans ma BVDD, et désormais ça marche.

    Merci !

    A plus,
    Thierry

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/02/2014, 13h31
  2. Update BDD SQL depuis BDD SQL
    Par dark_botsay dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/08/2010, 15h03
  3. [SQL] problème update bdd
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/06/2007, 17h59
  4. Réponses: 4
    Dernier message: 13/04/2004, 19h12
  5. Une ch'tite bizarrerie dans les Updates de SQL Server
    Par Wakko2k dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 08/04/2004, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo