【问题标题】:incorrect syntax near nvarchar in gridviewgridview 中 nvarchar 附近的语法不正确
【发布时间】:2013-05-04 15:59:09
【问题描述】:

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

“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>

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    检查一下:same problem

    上面说你必须把 [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>
    

    希望这会奏效。

    【讨论】:

    • 感谢您的回答,但我已经尝试过并将更新命令更改为它::UpdateCommand="UPDATE [post] SET [hoghoghe_rozane] = @hoghoghe_rozane WHERE (pid = @pid)" > ,但它不起作用!!!
    猜你喜欢
    • 2010-11-19
    • 2021-01-23
    • 1970-01-01
    • 2021-03-22
    • 2015-12-12
    • 2013-12-16
    • 1970-01-01
    • 2018-08-14
    • 2011-03-11
    相关资源
    最近更新 更多