Sql filtr like – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Sql filtr like – .NET – Fórum – Programujte.comSql filtr like – .NET – Fórum – Programujte.com

 

jstorm
~ Anonymní uživatel
12 příspěvků
12. 2. 2013   #1
-
0
-

Zdravím, potřeboval bych poradit, jak správně sestavit sql příkaz pro vyhledávání s filterm LIKE a QueryString parametrem.

 SelectCommand="SELECT [UserName] FROM [Users] WHERE ([UserName] LIKE '%@UserName%')">
         <SelectParameters>
             <asp:QueryStringParameter Name="UserName" QueryStringField="q" Type="String" />
         </SelectParameters>  

Takhle to nenajde nic, ale když napíšu místo parametru přímo hledaný výraz, tak to funguje -where ([UserName] Like '%adam%'

Jak mám teda správně napsat tento sql dotaz s querystring parametrem?

Nahlásit jako SPAM
IP: 88.103.170.–
RomanZ
~ Anonymní uživatel
272 příspěvků
12. 2. 2013   #2
-
0
-

Prosímtě, bez záruky, ale zkus to takto:

... WHERE ([UserName] LIKE @UserName)

a potom do parametru @UserName

zadávat včetně procent, např. %adam%

Nahlásit jako SPAM
IP: 90.176.60.–
jstorm
~ Anonymní uživatel
12 příspěvků
12. 2. 2013   #3
-
0
-

#2 RomanZ
Ne, takhle to nejde. A navíc uživatel přece nebude zadávat do searchboxu procenta.

Nahlásit jako SPAM
IP: 88.103.170.–
jstorm
~ Anonymní uživatel
12 příspěvků
12. 2. 2013   #4
-
0
-

#3 jstorm
Aha tak pardon, šlo by to. Ale jak jsem psal, uživatel tam nebude zadávat jméno i s těmi procenty. Nešlo by to ještě nějak jinak?

Nahlásit jako SPAM
IP: 88.103.170.–
jstorm
~ Anonymní uživatel
12 příspěvků
12. 2. 2013   #5
-
0
-

#2 RomanZ
Už jsem na to přišel, děkuju za odpověď.  SQL dotaz nechám stejně, tedy WHERE [UserName] LIKE @UserName

A na stránce s vyhledávacím políčekm, kde předávám hodnotu z textboxu do parametru v CodeBehind akorát dopíšu procenta takhle:

Response.Redirect(ResolveClientUrl("~/SearchResults.aspx?q=%" + TextBox1.Text + "%"))
Nahlásit jako SPAM
IP: 88.103.170.–
Evzen+2
Návštěvník
12. 2. 2013   #6
-
+1
-
Zajímavé

Ahoj,

osobně bych nepsal SQL dotaz do ASP.NET stránky přímo, ale využil bych procedur. Tam si můžeš doplnit procenta a navíc máš možnost modifikovat aplikaci bez zásahu do web. aplikace.

Evžen

Nahlásit jako SPAM
IP: 193.179.183.–
Vaizo0
Stálý člen
13. 2. 2013   #7
-
+1
-
Zajímavé

Souhlasím s Evzenem.

Vím, že tyhle DataSource kontrolky jsou super věc, ale nemyslím si, že by v aspx měla být nějaká logika a jakékoli skládání dotazů a logiku kolem vyhledávání apod. dělám v code behind. Myslím si, že je to tak z hlediska rozdělení logika-design mnohem čistší  

Nahlásit jako SPAM
IP: 85.93.127.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 18 hostů

Podobná vlákna

Filtr DataGridView — založil Jorya

Filtr a vyhledávání — založil Loupis

Filtr datumu pro DB — založil vikay

Filtr a vlastní adaptér — založil rmaster

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý