GridView 为何不能更新数据? 我用 sql server 2000,设好了 GridView 的数据源,并自动生成 insert,update,delete命令。没有加入任何代码。可是按更新按钮后不能保存,也没有提示。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试试是否因为服务器回传IsPostBack 有主键,下面是源码@ 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"> <br /> <br /> <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> 没有主键是不给生成update 语句的,试过 我没说你数据库没有主键 说的是你的GridView没设主键 将以下代码加到GridView的属性中去 DataKeyNames="id" 急:有关于javascript的事件!!!! 有关CheckBox的问题 选择CheckBox怎样能使它后面显相应的东西 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。求高手帮忙 smtp问题? 在一个项目中能同时用sql和access数据库 为啥在类里不能用Response.write.... 如何给datagrid的删除按钮做删除确认? 在用System.Drawing画完图后如何直接输出到一个服务器控件 WebForm 水晶报表子段横向排列 .NET不能调试的问题~? 点一个按钮,直接将页面拉到最底部 很奇怪的问题
下面是源码
@ 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">
<br />
<br />
<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>