这是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”我有“名字”。数据字段很好,将采用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>
答案 0 :(得分:1)
请参阅规则链接 http://msdn.microsoft.com/en-us/library/aa223962.aspx
不允许使用嵌入空格或特殊字符。
更改参数名称:
UpdateCommand="UPDATE [dbo].[SYR1] SET [First Name] = @FirstName
WHERE ID=@ID
ConnectionString="<%$ ConnectionStrings:ApplicationServices %>">
<UpdateParameters>
<asp:Parameter Type="String" Name="FirstName" />
<asp:Parameter Type="String" Name="LastName" />
<asp:Parameter Type="String" Name="ID" />
</UpdateParameters>
答案 1 :(得分:1)
解决方案一
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>
如果它不起作用,那么你可以使用别名,
解决方案二
Select [First Name] as Fname, ...
from tableName