ORA-01008: δεν είναι όλες οι μεταβλητές δεσμεύεται (Διαγραφή Εκδήλωση για ASP.net το GridView)

ψήφοι
0

Είμαι σήμερα βιώνει μια πραγματικά περίεργο πρόβλημα με τη διαγραφή μια σειρά από GridView. Έχω την εξής κώδικα, και ρίχνει την ακόλουθη εξαίρεση:

ORA-01008: δεν είναι όλες οι μεταβλητές δεσμεύεται

 <asp:TemplateField HeaderText=Delete>
                <ItemTemplate>
                    <asp:LinkButton ID=DeleteBTN runat=server OnClientClick=return confirm('Are you sure you want to delete this move request?') CommandName=Delete Text=Delete></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>


   <asp:BoundField DataField=UNIQUEKEY HeaderText=Unique Key
                SortExpression=UNIQUEKEY />

 <asp:SqlDataSource ID=GridViewDataSource runat=server 
        ConnectionString=<%$ ConnectionStrings:Oracle1ConnectionString %> 
        ProviderName=<%$ ConnectionStrings:Oracle1ConnectionString.ProviderName %> 

        SelectCommand=SELECT ORIGINATOR, TO_CHAR(REQUESTDATE, 'MM/DD/YYYY') as REQUESTDATE, PARTNUMBER, REQUESTQTY, MOVEFROM, MOVETO, COMPLETEDBY, TO_CHAR(COMPLETION_DATE, 'MM/DD/YYYY') as COMPLETION_DATE, COMMENTS, RESPONSETIME, PROCESS_FLAG, UNIQUEKEY FROM MATERIALMOVEREQUEST WHERE RTRIM(PROCESS_FLAG) = :ProcessFlag ORDER BY REQUESTDATE DESC
        DeleteCommand=DELETE FROM MATERIALMOVEREQUEST WHERE UNIQUEKEY = :UNIQUEKEY>
        <SelectParameters>
            <asp:ControlParameter ControlID=RequestTypeLabel DefaultValue= Name=ProcessFlag PropertyName=Text Type=String />
        </SelectParameters>
        <DeleteParameters>
            <asp:Parameter Name=UNIQUEKEY Type=Decimal />
        </DeleteParameters>

UNIQUEKEY είναι ένα πεδίο «Αριθμός» στο τραπέζι μου Oracle και έχω δοκιμάσει όλα τα είδη των τύπων δεδομένων, όπου είναι σήμερα ένα είδος «δεκαδικό».

Δημοσιεύθηκε 19/06/2012 στις 14:19
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
0

Σταθερή ο ίδιος, έπρεπε να προσθέσετε τα πρωτεύοντα κλειδιά των GridView παραμέτρους (DATAKEYNAMES). Εδώ είναι το απόσπασμα κώδικα μου:

 <asp:GridView ID="MMRGrid" runat="server" AutoGenerateColumns="False" DataKeyNames="UNIQUEKEY" 
        DataSourceID="GridViewDataSource" Width="980px" OnRowDataBound="GridViewRowEventHandler" 
        EmptyDataText="No Data Found" AllowSorting="True">
        <Columns>
            <asp:TemplateField HeaderText="Delete" Visible = "true">
                <ItemTemplate>
                    <asp:LinkButton ID="DeleteBTN" runat="server" OnClientClick="return confirm('Are you sure you want to delete this move request?')" CommandName="Delete" Text="Delete"></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
Απαντήθηκε 19/06/2012 στις 18:45
πηγή χρήστη

ψήφοι
1

Χρησιμοποιήστε περίπτωση Διαγραφή της SqlDataSource και να προσπαθήσουμε εγγράφως ακόλουθο κώδικα:

e.InputParameters["UNIQUEKEY"] = value;

αξία είναι αυτό που θέλετε να στείλετε στη βάση δεδομένων

Απαντήθηκε 20/06/2012 στις 12:05
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more