2015-01-15 34 views
0

我有一個GridView。它連接到一個SqlDataSource。我的數據庫是OracleSqlDataSource的DeleteCommand中獲取「ORA-01036:非法變量名稱/編號」

當我運行網頁時,SELECT命令有效,我看到列表中的項目。當我點擊刪除按鈕,我得到這個錯誤:

ORA-01036: illegal variable name/number

這是我的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> 

回答

0

找到了解決辦法。 DB中的列名與參數之間的參數名不匹配。參數名稱爲USER_LINK_ID,而列名稱爲N_USER_LINK_ID

如果這不是您的問題,請檢查this post了。它有更多的建議