il delete funziona.
dovevo aggiungere datakeynames al gridview e modificare il datasource.
nn mi funziona invece l'update anche se l'ho fatto con la stessa logica.
ho aggiunto AutoGenerateEditButton="True".
il codice per la modifica è questo:
codice:
        public void modificaRecord(int id, int entrate, int uscite, string causale)
        {
            MySqlConnection conn = null;
            MySqlCommand cmd = null;
            string sql = "UPDATE movimenti SET entrate=" + entrate + "uscite=" + uscite + "causale='" + causale + "' where id=" + id + "";
            try
            {
                conn = Connessione.getConnection();
                cmd = new MySqlCommand(sql, conn);
                cmd.ExecuteNonQuery();
            }
            catch (MySqlException e)
            {
                Console.Write(e.Message);
            }
        }
questo è l'objectdatasource:
codice:
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="eliminaRecord"
        SelectMethod="leggiRecord" TypeName="Matteo.Connessione" UpdateMethod="modificaRecord">
        <DeleteParameters>
            <asp:Parameter Name="id" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="id" Type="Int32" />
            <asp:Parameter Name="entrate" Type="Int32" />
            <asp:Parameter Name="uscite" Type="Int32" />
            <asp:Parameter Name="causale" Type="String" />
        </UpdateParameters>
    </asp:ObjectDataSource>
quando clicco su update nn succede nulla.