我正在使用ASP.NET和SQL Server数据库创建一个Web应用程序。错误是我无法删除或更新。我相信应用程序不会返回所选列的id。我的代码是:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TestClientesConnectionString %>"
SelectCommand="SELECT * FROM [Clientes]"
UpdateCommand="UPDATE [Clientes] SET [nombre]=@nombre, [apellidos]=@apellidos, [telefono]=@telefono, [fechaNacimiento]=@fechaNacimiento WHERE [ID]=@original_ID"
DeleteCommand="DELETE FROM [Clientes] WHERE [ID]=@original_ID"
InsertCommand="INSERT INTO [Clientes] VALUES (@nombre, @apellidos, @telefono, @fechaNacimiento)">
<DeleteParameters>
<asp:Parameter Name="original_ID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="original_ID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:DetailsView ID="DetailsView1" runat="server" AllowPaging="True" AutoGenerateRows="False" DataSourceID="SqlDataSource1" DataKeyNames="ID" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" AutoGenerateInsertButton="True">
<Fields>
<asp:BoundField DataField="ID" HeaderText="Id" SortExpression="ID" ReadOnly="true" Visible="false" />
<asp:BoundField DataField="nombre" HeaderText="Nombre" SortExpression="nombre" />
<asp:BoundField DataField="apellidos" HeaderText="Apellidos" SortExpression="apellidos" />
<asp:BoundField DataField="telefono" HeaderText="Telefono" SortExpression="telefono" />
<asp:BoundField DataField="fechaNacimiento" HeaderText="Fecha Nacimiento" SortExpression="fechaNacimiento" DataFormatString="{0:dd/MM/yyyy}" />
</Fields>
</asp:DetailsView>
我使用了不同的方法,但我无法解决错误。我该如何解决?
感谢。
答案 0 :(得分:0)
问题出在您的参数名称original_ID上,如果您使用ID它应该有效。您没有更改ID,因此无需使用original_id