partie d'une source de données ASP.Net 2:Impossible de filtrer Oracle SELECT ASPX
SelectCommand="SELECT BU.P_GEAC_CORP_CD AS Corp_Code,
BU.Business_unit as Abbreviation,
CC.DEPTID AS Cost_Center,
CC.DESCR AS Description
FROM fstst.PS_P_CATR_BUDPT_VW CC,
fstst.ps_p_bus_unit_cnv BU
WHERE BU.Business_unit = CC.Business_unit">
Cela alimente un GridView qui fonctionne. L'affichage montre que
CC.DESCR AS Description
est le texte (non numérique).
Je veux utiliser une zone de texte comme « contient » filtre, à savoir, si je mets « Recovery » dans la boîte, Je veux ajouter la source de données
AND CC.DESCR Like '%Recovery%'
à SQL. Si je code dur cette ligne, cela fonctionne.
Mais si j'ajoute
<SelectParameters>
<asp:ControlParameter ControlID="Dept_Name"
Name="DName"
PropertyName="Text"
Type="string" />
</SelectParameters>
sans changer le SQL, je reçois pas lignes retournées. Ensuite, si je mets
AND CC.DESCR Like '%' + :DName + '%'
dans le SQL, je reçois aucun résultat lorsque la zone de texte est vide, et ORA-01722: numéro invalide dès que je mets des personnages dedans.
Merci, mais les guillemets simples _are_ là dans ET CC.DESCR Comme '%' +: + dName '%' et par la manière, ET CC.DESCR Comme '%: dName%' obtient la même résultat –
pouvez-vous me montrer la requête exacte telle qu'elle est exécutée dans ORACLE? – northpole
Si vous voulez dire le SQL, c'est dans la question. Si vous voulez dire quelque chose d'autre, je ne sais pas ce que vous voulez dire. –