Šta je novo?

Problem sa Query-jem C#

Djolle27

Slavan
Učlanjen(a)
22.09.2008
Poruke
6
Poena
301
Pozdrav

E ovako....problem je u tome kada želim da pronađem željeni podatak da bih ga pronašao potrebno je da u textbox upišem njegov pun naziv. Meni je potrebno da upišem npr samo par prvih slova ili samo prvu reč i da mi program izbaci podatke koje počinju sa tim slovima tj sa tom reči (ne znam koliko je ovo gramatički tačno 😀). Trenutno mi tekst upita izgleda ovako:

SELECT Uplatilac, [Svrha uplate], Primalac, [Šifra plaćanja], Valuta, Iznos, [Račun primaoca], Model, Broj
FROM Uplata
WHERE Uplatilac LIKE @Pretraga

Po mom mišljenju je problem u zadnjem redu tj u delu LIKE. Probao sam da ga izmenim na ovaj način:

LIKE '%'+@Pretraga+'%'

međutim nema nikakve promene. Iskreno nisam najsigurniji šta tačno procenti znače tu ali mislim da sam ranije uspeo sa njima da napravim nekakav pomak. Pomagajte ljudi stojim na ovome već tri dana.....e da i ako nisam bio dovoljno jasan sa pitanjem, što je veoma moguće, pa...pitajte 🙂 i hvala u napred 😉
 
koji ti je event na textboxu? mozda da stavis OnChange (il kako vec bese) i u njemu LIKE koji bi prvi rezultat vracao u textbox ili drop down meni ili kako god vec hoces.
 
Probaj LIKE '*'+@Pretraga+'*'
 
Koliko se sećam imao sam isti problem. Ako možeš u parametar @Pretraga upiši i te znake za procenat. Znači @Pretraga = "%" + ONO_STO_TRAZIS + "%", tako da u upitu imaš samo LIKE @Pretraga. Da, i obrati pažnju da kucaš navodnik ", a ne apostrof '. Ako nije ovako javi pa da nađem projekat i tačno pogledam kako piše.
Inače znak za procenat kod SQL servera predstavlja džoker znak, pa ako tražiš samo podatke koje počinju slovima koje učitavaš onda onaj prvi znak za procenat možeš da izostaviš.
 
Poslednja izmena:
Koliko se sećam imao sam isti problem. Ako možeš u parametar @Pretraga upiši i te znake za procenat. Znači @Pretraga = "%" + ONO_STO_TRAZIS + "%", tako da u upitu imaš samo LIKE @Pretraga. Da, i obrati pažnju da kucaš navodnik ", a ne apostrof '. Ako nije ovako javi pa da nađem projekat i tačno pogledam kako piše.
Inače znak za procenat kod SQL servera predstavlja džoker znak, pa ako tražiš samo podatke koje počinju slovima koje učitavaš onda onaj prvi znak za procenat možeš da izostaviš.

Ako ti nije probem da mi napišeš kako si to uradio u svom projektu pošto te nisam najbolje razumeo. Početnik sam nemoj mi uzeti za zlo 🙂
 
u upitu ostaviš WHERE Uplatilac LIKE @Pretraga a kada parametru @Pretraga daješ vrednost (ne znam kako prosleđuješ vrednost, recimo da promenljiva a čuva tu vrednost) "%"+a+"%".
 
u upitu ostaviš WHERE Uplatilac LIKE @Pretraga a kada parametru @Pretraga daješ vrednost (ne znam kako prosleđuješ vrednost, recimo da promenljiva a čuva tu vrednost) "%"+a+"%".

Ne znam ni ja kako da mu prosledim vrednost s obzirom da se to upisuje u Query Builder koji nema veze sa samim kodom. Inače ako će ovo nešto značiti, vršim pretragu u BindingNavigator-u tj imam više stranica pa na osnovu jednog (od više) unetog podatka želim da pronađem željenu stranicu. Takođe sam tek sad postao svestan problema kada hoću da štampam prikazuje mi samo prvu stranicu BindingNavigator-a i nema načina da prikaže bilo koju drugu. Pa ako neko zna nešto oko ovoga dobro došla bi mi pomoć i oko toga. Ne znam da li sam ovo dobro objasnio ali kao što sam rekao u prvom postu...pitajte...
 
Cao,
mozes li da objasnis sta ti je potrebno?
Kog tipa je @Pretraga?
Da li mozemo dobiti model tabele?

Da li mozes da prosledis code snippet onoga sto si do sad uradio? Nije bitno da se kompajlira.

🙂
 
Prvo ... prosledi malo koda da ipak vidimo o čemu se tu to radi ...

drugo:

ako praviš upit na ovaj način:

SqlCommand komanda = new SqlCommand(" . . . Query koji si naveo . . ", connectionString);

onda parametar dodaješ tako što kažeš

komanda.Parameters.Add(new SqlParameter("@Pretraga","%"+a+"%"));

prvi parametar je string koji predstavalja parametar u SQL Queriju, a drugi je njegova vrednost.

E sad daj nam deo sa interfesja da vidimo šta je to odakle mu daješ taj parametar .. (da bi stigao do onog a)
 
Evo rešenja ako nekog interesuje:

SELECT Uplatilac, [Svrha uplate], Primalac, [Šifra plaćanja], Valuta, Iznos, [Račun primaoca], Model, Broj
FROM Uplata
WHERE SUBSTRING(Uplatilac, 0, LEN(@Pretraga) + 1) LIKE @Pretraga

Do rešenja nisam sam došao pa bih bio zahvalan ako bi neko mogao da mi objasni samo zadnji red. Možda koju reč više o SUBSTRING-u pošto se do sada nisam susretao sa tim. I hvala svima koji su pokušali da mi pomognu.
 
Momce, ne kontas nesto 🙂
Nisi objasnio problem, tako da kako ti neko moze pomoci?
Opisi sta zelis da dobijes ovim query-jem. Kako izgleda tabela? Kojeg tipa su kolone u njoj? Mozda postoji laksi nacin za ovo sto ti je neko napisao. Isto tako, ovo sto ti je neko napisao, nema bas veze sa C#, jer je to cisti SQL. 😀

Objasni problem, da bi i drugi koji ga imaju znali o cemu se radi, kada pretrazuju ovaj forum.
🙂
 
Nazad
Vrh Dno