【问题标题】:Getting "ORA-01036: illegal variable name/number" in DeleteCommand of SqlDataSource在 SqlDataSource 的 DeleteCommand 中获取“ORA-01036:非法变量名称/编号”
【发布时间】:2015-03-14 02:26:03
【问题描述】:

我有一个 GridView。它连接到 SqlDataSource。我的数据库是 Oracle

当我运行网页时,SELECT 命令起作用并且我看到列表中的项目。当我点击 Delete 按钮时,我收到此错误:

ORA-01036: 非法变量名/编号

这是我的 GridView 和 SqlDataSource:

<telerik:RadAjaxPanel ID="ajaxMyLinks" runat="server" width="100%" LoadingPanelID="RadAjaxLoadingPanel1">
     <telerik:RadGrid ID="gridMyLinks" runat="server" DataSourceID="SqlDataSourceMyLinks" AllowAutomaticDeletes="True" AllowPaging="True" BackColor="White" BorderColor="White" PageSize="5" ShowHeader="False">
         <MasterTableView AutoGenerateColumns="False" DataSourceID="SqlDataSourceMyLinks" DataKeyNames="N_USER_LINK_ID">
             <Columns>
                 <telerik:GridHyperLinkColumn AllowSorting="False" DataNavigateUrlFields="V_LINK" DataNavigateUrlFormatString="{0}" DataTextField="V_LINK_TITLE" DataTextFormatString="{0}" FilterControlAltText="Filter column column" UniqueName="column" Target="_blank">
                 </telerik:GridHyperLinkColumn>
                 <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Delete" ImageUrl="Content/images/delete.png" UniqueName="column1">
                 </telerik:GridButtonColumn>
             </Columns>
         </MasterTableView>
         <PagerStyle Mode="NextPrev" ShowPagerText="False" />
     </telerik:RadGrid>
 </telerik:RadAjaxPanel>
<asp:SqlDataSource ID="SqlDataSourceMyLinks" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultConnection %>" SelectCommand="SELECT V_LINK_TITLE, V_LINK, N_USER_LINK_ID FROM TAPP_IFH_USER_LINK WHERE (N_USER_ID = :USER_ID) ORDER BY N_USER_LINK_ID DESC" DeleteCommand="DELETE FROM TAPP_IFH_USER_LINK WHERE (N_USER_LINK_ID = :USER_LINK_ID)" ProviderName="<%$ ConnectionStrings:DefaultConnection.ProviderName %>">
  <DeleteParameters>
      <asp:Parameter Name="USER_LINK_ID" Type="Int32"></asp:Parameter>
  </DeleteParameters>
  <SelectParameters>
      <asp:SessionParameter Name="USER_ID" SessionField="USER_ID" />
  </SelectParameters>
</asp:SqlDataSource>

【问题讨论】:

    标签: asp.net oracle gridview sqldatasource sql-delete


    【解决方案1】:

    找到了解决办法。 参数名称不匹配 数据库中的列名和参数。参数名称为 USER_LINK_ID,列名称为 N_USER_LINK_ID

    如果这不是您的问题,请检查this post。它有更多的建议

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-06
      • 2011-10-05
      • 1970-01-01
      • 2020-07-29
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多