<asp:Button ID="Button2" Text="Test Update" onclick="saveCust" runat="server"/> </EditItemTemplate> </asp:formview> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" SelectCommand="SELECT * FROM [tblCustomers] WHERE ([CustomerID] = @CustomerID) ORDER BY [Name]" UpdateCommand="UPDATE [tblCustomers] SET [Name] = @Name WHERE [CustomerID] = @CustomerID"> <UpdateParameters> <asp:Parameter Name="Name" Type="String" /> <asp:Parameter Name="CustomerID" Type="Int64" /> </UpdateParameters> <SelectParameters> <asp:ControlParameter ControlID="DropDownList1" Name="CustomerID" PropertyName="SelectedValue" Type="Int64" /> </SelectParameters> </asp:SqlDataSource>
Når jeg klikker på "button1" virker det som det skal. Den korrekte record bliver opdateret i min db. Men Button2 kan jeg ikke få til at virke. Den kalder denne sub:
Sub saveCust(ByVal source As Object, ByVal e As System.EventArgs) SqlDataSource2.Update() End sub
Sub'en bliver kørt (har testet med en msgbox i den) men min record bliver ikke opdateret?! Jeg har sat disse to linier ind i den, som et forsøg: Dim strSql strSql = SqlDataSource2.UpdateCommand
strSql indeholder den rigtige updatecommand fra sqldatasource2. Jeg har også udskiftet sqldatasource2.update() med en "normal" myConn... hvor jeg så har indsat strSql som sql-kommando, men stadig intet resultat.
Jeg gætter på, at den bare ikke kan se værdien af de felter der skal hentes fra formen, når update() køres udenfor selve formen. Men hvordan får jeg den til det? Jeg vil gerne kunne lave nogle flere handlinger, når der klikkes på knappen.
Fordi jeg gerne vil lave en side med to formviews, og opdatere dem begge med ét klik. Der er også andre tilfælde, hvor jeg gerne vil lave flere handlinger, samtidig med at formularen opdateres.
I din sub kan du kalde FormView1.UpdateItem(true); <-- c# men burde være stortset det samme i vb.
Prøv med denne datasource <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" SelectCommand="SELECT * FROM [tblCustomers] WHERE ([CustomerID] = @CustomerID) ORDER BY [Name]" UpdateCommand="UPDATE [tblCustomers] SET [Name] = @Name WHERE [CustomerID] = @CustomerID"> <SelectParameters> <asp:ControlParameter ControlID="DropDownList1" Name="CustomerID" PropertyName="SelectedValue" Type="Int64" /> </SelectParameters> </asp:SqlDataSource>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.