2

deletecommand にハードコードされた値 (JOB_ID = 123) を使用すると機能しますが、パラメーターを使用しようとすると次のエラーが発生します。

Oracle.DataAccess.Client.OracleException: ORA-00936: 式がありません。

JOB_ID は、データベースの varchar2 フィールドです。どんな助けでも素晴らしいでしょう。

<asp:GridView ID="GridView1"  DataSourceID="SqlDataSource1" 
 runat="server" DataKeyNames="JOB_ID" AutoGenerateColumns="false" ShowHeader="true">



    <columns>
              <asp:boundfield datafield="JOB_ID" headertext="Job ID"/>
              <asp:boundfield datafield="JOB_DATE_CLOSED" headertext="Posting Closes On"/>
              <asp:boundfield datafield="JOB_DESC" headertext="Job Description"/>
              <asp:TemplateField>
                <ItemTemplate>
                <asp:Button id="DeleteButton" runat="server" text="Delete"
                CommandName="Delete" OnClientClick="return confirm('Delete this Record?');" >
                </asp:Button>
      </ItemTemplate>
    </asp:TemplateField>
    </columns>
    </asp:GridView>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:OracleInternet %>" 
                    ProviderName="<%$ ConnectionStrings:OracleInternet.ProviderName %>" 
SelectCommand="SELECT JOB_ID, JOB_DATE_CLOSED, JOB_DESC FROM OWNER.JOB_POSTING" 

    DeleteCommand="DELETE FROM OWNER.JOB_POSTING WHERE JOB_ID = @JOB_ID" >
    <DeleteParameters>
    <asp:Parameter Name="JOB_ID" Type="String" />
    </DeleteParameters>

    </asp:SqlDataSource>
4

1 に答える 1

0

Thanks for the help Garrison!

I changed @JOB_ID to :JOB_ID in the deletecommand, which was the syntax in the link you posted, and it worked. No idea why as almost all of the examples out there use @ for a parameter, but thanks again.

于 2013-08-29T21:12:45.867 に答える