我用 sql server 2000,
设好了 GridView 的数据源,并自动生成 insert,update,delete命令。
没有加入任何代码。可是按更新按钮后不能保存,也没有提示。

解决方案 »

  1.   

    试试是否因为服务器回传IsPostBack
      

  2.   

    有主键,
    下面是源码
    @ Page   Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Register Src="WebUserControl.ascx" TagName="WebUserControl" TagPrefix="uc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body style="position: static">
        <form id="form1" runat="server">
            &nbsp;<br />
            <br />
            &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
            <asp:GridView ID="GridView1" runat="server" AllowSorting="True"
                AutoGenerateColumns="False" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True"
                DataSourceID="SqlDataSource1" Width="386px">
                <Columns>
                    <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
                        SortExpression="id" />
                    <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" DataFormatString="{0:c}" />
                    <asp:BoundField DataField="path" HeaderText="path" SortExpression="path" ReadOnly="True" />
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:a1ConnectionString %>"
                DeleteCommand="DELETE FROM [TABLE1]  WHERE [id] = @id" InsertCommand="INSERT INTO [TABLE1] ([name], [path]) VALUES (@name, @path)"
                SelectCommand="SELECT * FROM [TABLE1]" UpdateCommand="UPDATE [TABLE1] SET [name] = @name, [path] = @path WHERE [id] = @id" CancelSelectOnNullParameter="False" ProviderName="<%$ ConnectionStrings:a1ConnectionString.ProviderName %>">
                <DeleteParameters>
                    <asp:Parameter Name="id" Type="Int32" />
                </DeleteParameters>
                <UpdateParameters>
                    <asp:Parameter Name="name" Type="String" />
                    <asp:Parameter Name="path" Type="String" />
                    <asp:Parameter Name="id" Type="Int32" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:Parameter Name="name" Type="String" />
                    <asp:Parameter Name="path" Type="String" />
                </InsertParameters>
            </asp:SqlDataSource>
        </form>
    </body>
    </html>
      

  3.   

    没有主键是不给生成update 语句的,试过
      

  4.   

    我没说你数据库没有主键 说的是你的GridView没设主键 将以下代码加到GridView的属性中去 DataKeyNames="id"