これは gridview updatecommand の作業バージョンです
<asp:SqlDataSource ID="MatchDataSource" runat="server" SelectCommand="SELECT * FROM [dbo].[SYR1]"
UpdateCommand="UPDATE [dbo].[SYR1] SET Fname = @Fname
WHERE ID=@ID
ConnectionString="<%$ ConnectionStrings:ApplicationServices %>">
<UpdateParameters>
<asp:Parameter Type="String" Name="Fname" />
<asp:Parameter Type="String" Name="Lname" />
<asp:Parameter Type="String" Name="ID" />
</UpdateParameters>
</asp:SqlDataSource>
<Columns>
<asp:CommandField ShowEditButton="True"></asp:CommandField>
<asp:BoundField ReadOnly="true" HeaderText="First Name" DataField="fname" SortExpression="fname"><ItemStyle HorizontalAlign="Right"></ItemStyle></asp:BoundField>
<asp:BoundField ReadOnly="false" HeaderText="Last Name" DataField="lname" SortExpression="lname"><ItemStyle HorizontalAlign="Right"></ItemStyle> </asp:BoundField>
</Columns>
私が抱えている問題は、データベースの列に 2 つの名前があることです。つまり、"fname" の代わりに "First Name" があります。データフィールドは問題なく、2 語の列名を取ります
<asp:BoundField ReadOnly="true" HeaderText="First Name" DataField="First Name" SortExpression="fname"><ItemStyle HorizontalAlign="Right"></ItemStyle></asp:BoundField>
問題は、2 ワードのパラメーターを保存できないことです。そのため、更新を機能させる方法がわかりません... 以下は失敗した試みです。誰でも私を助けてくれませんか。
UpdateCommand="UPDATE [dbo].[SYR1] SET [First Name] = @First name
WHERE ID=@ID
ConnectionString="<%$ ConnectionStrings:ApplicationServices %>">
<UpdateParameters>
<asp:Parameter Type="String" Name="First Name" />
<asp:Parameter Type="String" Name="Last Name" />
<asp:Parameter Type="String" Name="ID" />
</UpdateParameters>