Jak předat hodnotu z RadioButtonu "IS NOT NULL" do podmínky dotazu?   otázka

ASP.NET WebForms

Zdravím. Jsem začátečník a předělávám svou malou firemní databázi z Accessu na web. Potýkám se s rozdílnýmy syntaxemi. Teď jsem se zarazil na banalitě. Jak předat hodnotu z RadioButtonu "IS NOT NULL" do podmínky dotazu? Nebo je lepší data filtrovat až ve formuláři?

    <asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True">
        <asp:ListItem Value= " NOT NULL" >Uskutečněné</asp:ListItem>
        <asp:ListItem Value= "IS NULL"
>Neuskutečněné</asp:ListItem>
        <asp:ListItem Vaule= ""
>Všechny</asp:ListItem> 
       </asp:RadioButtonList>

..........

SelectCommand="SELECT * FROM Tabulka WHERE (DtmExp = @DtmExp)">    <SelectParameters>
  <asp:ControlParameter ControlID="RadioButtonList1" Name="DtmExp" PropertyName="SelectedValue" />
</SelectParameters>

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

Tak jak to máte napsané, tak se spustí tento SQL dotaz:

SELECT * FROM Tabulka WHERE (DtmExp = 'IS NOT NULL')

To je samozřejmě špatně.

Je spousta způsobů jak to vyřešit. Nejjednodušší (ale ne nejlepší) řešení:

 <asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True">
        <asp:ListItem Value= "1" >Uskutečněné</asp:ListItem>
        <asp:ListItem Value= "0">Neuskutečněné</asp:ListItem>
        <asp:ListItem Vaule= "">Všechny</asp:ListItem> 
       </asp:RadioButtonList>

..........

SelectCommand="SELECT * FROM Tabulka WHERE (DtmExp is null and @DtmExp=0) or (DtmExp is not null and @DtmExp=1) or @DtmExp is null">
<SelectParameters>
  <asp:ControlParameter ControlID="RadioButtonList1" Name="DtmExp" PropertyName="SelectedValue" />
</SelectParameters>

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Jéé to je nádhera. Jak jednoduché a elegantní...

Díky moc za pomoc.

nahlásit spamnahlásit spam 1 / 1 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