First time trying to set up GridView on ASP.NET:

<html xmlns="">
<head runat="server">
    <form id="form1" runat="server">
        <asp:GridView ID="gvDepartments" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="id,dept_name,dept_abbr" DataSourceID="DBDeptInfoSource" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" OnSelectedIndexChanged="gvDepartments_SelectedIndexChanged">  
                <asp:BoundField DataField="id" HeaderText="#" SortExpression="id" ReadOnly="true" />
                <asp:BoundField DataField="dept_name" HeaderText="Dept. Name" SortExpression="dept_name" ReadOnly="false" />
                <asp:BoundField DataField="dept_abbr" HeaderText="Dept. Abbr" SortExpression="dept_abbr" ReadOnly="false" />
        <asp:SqlDataSource ID="DBDeptInfoSource" runat="server" ConnectionString="<%$ ConnectionStrings:DBDeptInfo %>" EnableViewState="False"
            SelectCommand="SELECT id,dept_name,dept_abbr FROM Departments"
            UpdateCommand="UPDATE Departments SET dept_name=@dept_name,dept_abbr=@dept_abbr WHERE id=@id"
            DeleteCommand="DELETE FROM Departments WHERE id=@id"
The SelectCommand and DeleteCommand params work, but UpdateCommand does not.
- I know I have access to write to the database, as DeleteCommand works.
- I read somewhere that it could just be that the GridView wasn't refreshing after postback, but that it was updating the database record. I have verified that the data is NOT being updated in the database.

Help me learn!