当前位置: 首页 > 知识库问答 >
问题:

获取"ORA-01036:非法变量名称/数字"在DeleteCommand的SqlDataSource

逄俊贤
2023-03-14

我有一个网格视图。它连接到一个SqlDataSource。我的数据库是Oracle。

当我运行网页时,选择command works,我会看到列表中的项目。单击“删除”按钮时,出现以下错误:

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>

共有1个答案

邓夕
2023-03-14

找到了解决办法。数据库中的列名和参数之间的参数名不匹配。参数名为USER\u LINK\u ID,列名为N\u USER\u LINK\u ID。

如果这不是你的问题,看看这篇文章。它有更多的建议

 类似资料:
  • 我正在尝试使用oracledb客户端从nodejs对oracle数据库执行查询,并得到“ORA-01036:非法变量名/编号”。我尝试了多种建议的方法来传递我的变量,但失败了。使用硬代码值的查询。 以下是我的示例代码: 获取"ORA-01036:非法变量名称/数字"或空结果

  • 我已经用“select*from person”测试过了,效果不错。我想得到一份名字以“a”开头的人的名单。这可能吗?

  • 请帮帮我 获取日期范围的数据时出错 错误 ora-01036非法变量名称/编号

  • 我有下面的insert查询 每次我尝试运行此查询时,都会出现此错误 我做了一些研究,显然这意味着其中一个变量不在SQL语句中。对我来说不是这样,我检查了语句、数据库(oracle)表和所有绑定变量,它们都匹配。 错误上的行号将表明它是$driveable变量。我做了一个检查,这是被发送到页面罚款。 不知道还有什么地方可以看,所以任何帮助都会很好。

  • 为什么在Oracle DB中出现此错误? cx_Oracle。ORA-01036:非法变量名称/数字

  • 我已经创建了一个API,希望将数据插入oracle数据库。但我收到一条错误消息“error:ORA-01036:非法变量名/编号”。我不知道我犯了什么错误。希望能帮我解决这个问题。先谢谢你。 [错误:ORA-01036:非法变量名/编号]{errorNum:1036,偏移量:0}