Forum Clubic

Impossible de faire un update sur ma bdd - asp.net, vb.net et Access

Bonjour,

Pour effectuer des modifications dans ma BDD Access, je me suis basé sur cet exemple:


<%@ Page Language="vb" Debug="true" %>
<%@ Import NameSpace="System.Data" %>
<%@ Import NameSpace="System.Data.OleDb" %>
<html>
<head><title>Utilisaion de GridView</title></head>
<body>
  <form id="form1" runat="server">
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
            AutoGenerateColumns="False" DataKeyNames="Numéro" DataSourceID="AccessDataSource1">
      <Columns>
        <asp:CommandField ShowSelectButton="True" ShowDeleteButton="True" ShowEditButton="True" ></asp:CommandField>
        <asp:BoundField DataField="Numéro" HeaderText="Numéro" InsertVisible="False"
                    ReadOnly="True" SortExpression="Numéro" />
        <asp:BoundField DataField="Pays" HeaderText="Pays" SortExpression="Pays" />
        <asp:BoundField DataField="Indicatif" HeaderText="Indicatif" SortExpression="Indicatif" />
        <asp:BoundField DataField="HPointe" HeaderText="HPointe" SortExpression="HPointe" />
        <asp:BoundField DataField="HCreuses" HeaderText="HCreuses" SortExpression="HCreuses" />
        <asp:BoundField DataField="Connexion" HeaderText="Connexion" SortExpression="Connexion" />
      </Columns>
    </asp:GridView>
    <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="bd2.mdb"
      SelectCommand="SELECT * FROM [Belgacom]"
      DeleteCommand="DELETE FROM Belgacom WHERE (Numéro = @Numéro)"
      UpdateCommand="UPDATE Belgacom SET Pays=@Pays, Indicatif=@Indicatif, HPointe=@HPointe, HCreuses=@HCreuses, Connexion=@Connexion WHERE Numéro=@Numéro" >
      <SelectParameters>
        <asp:Parameter DefaultValue="352" Name="indicatif" />
      </SelectParameters>
    </asp:AccessDataSource>
  </form>
</body>
</html>

Ce programme fonctionnant très bien (il affiche les enregistrements dans un gridview, permet de faire le tri et des modifications), je l’ai donc modifié en mettant les champs de ma BDD et voici ce que ça donne:

<%@ Page Language="vb" Debug="true" %>
<%@ Import NameSpace="System.Data" %>
<%@ Import NameSpace="System.Data.OleDb" %>
<html>
<head><title>Pilotes: Saison 2007</title></head>
<body>
  <form id="form1" runat="server">
      <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
          AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="AccessDataSource1">
          <Columns>
              <asp:CommandField ShowEditButton="True" />
              <asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True"
                  SortExpression="Id" />
              <asp:BoundField DataField="No" HeaderText="No" SortExpression="No" />
              <asp:BoundField DataField="Prenom" HeaderText="Prenom" SortExpression="Prenom" />
              <asp:BoundField DataField="Nom" HeaderText="Nom" SortExpression="Nom" />
              <asp:BoundField DataField="Naissance" HeaderText="Naissance" SortExpression="Naissance" />
              <asp:BoundField DataField="Pays" HeaderText="Pays" SortExpression="Pays" />
              <asp:BoundField DataField="Victoires" HeaderText="Victoires" SortExpression="Victoires" />
              <asp:BoundField DataField="Poles" HeaderText="Poles" SortExpression="Poles" />
              <asp:BoundField DataField="Mt" HeaderText="Mt" SortExpression="Mt" />
              <asp:BoundField DataField="Podiums" HeaderText="Podiums" SortExpression="Podiums" />
              <asp:BoundField DataField="Points" HeaderText="Points" SortExpression="Points" />
              <asp:BoundField DataField="Gp" HeaderText="Gp" SortExpression="Gp" />
              <asp:BoundField DataField="Ecurie" HeaderText="Ecurie" SortExpression="Ecurie" />
          </Columns>
      </asp:GridView>
      <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/f1.mdb" 
        SelectCommand="SELECT * FROM [Pilote]" 
        UpdateCommand="UPDATE Pilote SET No=@No, Prenom=@Prenom, Nom=@Nom, Naissance=@Naissance, 
        Pays=@Pays, Victoires=@Victoires, Poles=@Poles, Mt=@Mt, Podiums=@Podiums, Points=@Points, 
        Gp=@Gp WHERE Id=@Id" >
      </asp:AccessDataSource>
    
  </form>
</body>
</html>

Sauf que voilà, ça me met une erreur sur l’instruction update, j’ai bien vérifié que j’avais correctement orthographié mes champs et que tous étaient dans le bon ordre donc je ne vois vraiment pas pourquoi ça ne veut pas aller, si vous pouviez m’aider, ça m’arrangerait beaucoup!

Personne ne peut m’aider svp?

fait un copier/coller de ton erreur svp

Voici l’erreur mais bon, j’ai beau chercher, je ne vois pas où il y a une erreur dans mon update.

Personne ne voit ce que ça pourrait être?

up

Peut-être que le problème vient du contenu d’une des variables que tu utilise pour remplir ta requète UPDATE : Essaie de voir ce que contient UpdateCommand après exécution :neutre:

Je veux bien mais je fais ça comment? Car je vois pas ça en mode debug