0

我在更新我的 gridview 的列时遇到问题;当我尝试更新该字段时,我收到此错误:

'nvarchar' 附近的语法不正确。
必须声明标量变量“@pid”。

这是我的一段代码:

<asp:GridView ID="GridView1" runat="server"  name="gd"  Height="100px" 
            Width="435px" AutoGenerateColumns="False" DataKeyNames="pid" DataSourceID="SqlDataSource1" >
    <Columns>
        <asp:CommandField ShowEditButton="True" ShowSelectButton="True" />
        <asp:BoundField DataField="pid" HeaderText="pid" 
                    SortExpression="pid" ReadOnly="True" />
        <asp:BoundField DataField="name" HeaderText="name" 
                    SortExpression="name" />
        <asp:BoundField DataField="hoghoghe rozane" HeaderText="hoghoghe rozane" 
                    SortExpression="hoghoghe rozane" />
        <asp:BoundField DataField="paye" HeaderText="paye" 
                    SortExpression="paye" />
    <\Columns>
<asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"  
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
  UpdateCommand="UPDATE [post] SET [name] = @name, hoghoghe_rozane = @hoghoghe_rozane, [paye] = @paye WHERE (pid = @pid)" >   
     <UpdateParameters>
         <asp:Parameter Name="name" Type="String" />
         <asp:Parameter Name="hoghoghe_rozane" Type="Int32" />
         <asp:Parameter Name="paye" Type="Int32" />  
         <asp:Parameter Name="pid" Type="String" />
     </UpdateParameters>
 </asp:SqlDataSource>
4

1 回答 1

1

检查一下:同样的问题

它说您必须将 [hoghoghe rozane] 更改为 [hoghoghe_rozane]

更新 :::

1.确保数据库中 pid 字段的类型 2.fields 表中不应有空格 3.alias 也不应有空格

试试这个代码:

<asp:GridView ID="GridView1" runat="server"  name="gd"  Height="100px" 
        Width="435px" AutoGenerateColumns="False" DataKeyNames="pid" DataSourceID="SqlDataSource1" >
<Columns>
    <asp:CommandField ShowEditButton="True" ShowSelectButton="True" />
    <asp:BoundField DataField="pid" HeaderText="pid" 
                SortExpression="pid" ReadOnly="True" />
    <asp:BoundField DataField="name" HeaderText="name" 
                SortExpression="name" />
    <asp:BoundField DataField="hoghoghe_rozane" HeaderText="hoghogheRozane" 
                SortExpression="hoghoghe_rozane" />
    <asp:BoundField DataField="paye" HeaderText="paye" 
                SortExpression="paye" />
<\Columns>

ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
UpdateCommand="UPDATE [post] SET [name] = @name, hoghoghe_rozane = @hoghoghe_rozane, [paye] = @paye WHERE (pid = @pid)" >   
 <UpdateParameters>
     <asp:Parameter Name="name" Type="String" />
     <asp:Parameter Name="hoghoghe_rozane" Type="Int32" />
     <asp:Parameter Name="paye" Type="Int32" />  
     <asp:Parameter Name="pid" Type="String" />
 </UpdateParameters>

希望这会奏效。

于 2013-05-04T17:28:39.423 回答