filtrovaní   zodpovězená otázka

SQL, Databáze

Zdravím,

chci se zeptat, zda je možné vyfiltrovat nějakým způsobem následeující problém.

Používám dropdownlist,kde jsou zaznamy jako C100,C110,K150,V160,...

Jenomže pokud mám první položku dropdown prázdnou(null),tak chci aby se zobrazilo všecko.

Pokud ale použiji toto:

.....resultsym from HsPrin where processcd = '" & DropDownList1.SelectedItem.Value & "' ......

To sice funguje,ale jen když vyberu některou z nadeklarovaných položek.

Ale pokud zvolím první,což je prázdno,tak se nezobrazi nic.

neví někdo jak upravit tuto podmínku?

Vím,že existuje dotaz "LIKE" atd,ale problém je že se položky až na některé znaky opakují.

Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No, zaprvé vřele doporučuji neskládat SQL příkazy ze stringů, ale použít parametry, a za druhé se to dá vyřešit elegantním použitím operátoru OR. Příklad:

SELECT * FROM [Mesta] WHERE ([Kraj] = @Kraj) OR (@Kraj IS NULL)

Parametr @Kraj do dotazu nacpěte mimo SQL příkaz, abyste se vyhnul potencionálnímu útoku SQL injection, kdy vám jako hodnotu, kterou do příkazu vkládáte, někdo podvrhne například řetězec ' OR 1=1; DELETE FROM ... -- , čímž vám může natropit v datbaázi pěkný nepořádek, smazat data atd. S parametry se tohle stát nemůže.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback