2009-08-07 14 views
11

Próbuję utworzyć stronę wyszukiwania w programie ASP.NET, która pozwala mi wyszukać nazwy tabel w Oracle. Po umieszczeniu sql w formantu sqldatasource nie rozpoznaje on parametru: Tablename. Jak muszę przepisać to, aby działało?Użyj parametru w klauzuli podobnej w oracle

SELECT Owner, Table_name, Num_Rows, Tablespace_name 
FROM all_tables 
WHERE trim(upper(table_name)) LIKE trim(upper('%:TableName%')) 
+0

Um, dlaczego jesteś przycinanie wyrażenie oczywiście nie ma żadnych spacji lub spacji? –

+0

Myślę, że stało się to nawykiem. Napotkałem pola tekstowe i daty w naszej bazie danych z dołączonymi do nich spacjami ..... nie można ich dopasować bez funkcji przycinania. –

Odpowiedz

37

można zastąpić

'%:TableName%'

z

'%' || :TableName || '%'

?

+1

Dzięki, to zadziałało! –

+0

Oracle rozróżnia małe i wielkie litery. :) – Webbanditten

1

Dla tych, którzy mogą być zainteresowani: Dla SQL Server Umieszczanie% w tekście parametru jak to działa: (Inna metoda opisana powyżej nie)

WHERE trim(upper(table_name)) LIKE trim(upper(@TableName)) 
Powiązane problemy