Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pretrazivanje baze preko SQL komande

[es] :: .NET :: Pretrazivanje baze preko SQL komande

[ Pregleda: 1971 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Acid
Nikola Milanovic
Cacak

Član broj: 9585
Poruke: 144
*.ptt.yu



Profil

icon Pretrazivanje baze preko SQL komande01.08.2004. u 11:02

Pozdrav svima.
Imam jedan mali problem oko kreiranja SQL komande za pretrazivanje baze. SQL komadna radi na principu:

SELECT *
FROM Imenik
WHERE ime LIKE parametarA

Nakon pozivanja ove komande sve radi kako treba, ali... Treba mi SQL komanda kojom se moze odrediti koje polje treba da se pretrazi, tipa:

SELECT *
FROM Imenik
WHERE ImePolja LIKE parametarA

gde je ImePolja takodje parametar. E sve je to lepo sam sto mi ova druga komanda uvek vraca 0 zapisa.

Kako ovo resiti?

Unapred veliko HVALA>
01.08.2004. u 11:02 

Acid
Nikola Milanovic
Cacak

Član broj: 9585
Poruke: 144
*.ptt.yu



Profil

icon Re: Pretrazivanje baze preko SQL komande01.08.2004. u 19:36
E, shvatio sam gde je problem, ali ne i gde je resenje.
Kada u pozivu komande dajem vrednost parametrima, SQL oba parametra stavlja izmedj apostrofa (string) pa tako umesto imena kolone (bez apostrofa) ja dobijem neki string.

ImePolja="Ime"
parametrA="nikola"

SQL:
select...
WHERE 'Ime' LIKE 'nikola'

a trebalo bi:
SELECT...
WHERE Ime LIKE 'nikola'

Ideje?
01.08.2004. u 19:36 

akrosoft
Dusan Mihajlovic
Beograd

Član broj: 31201
Poruke: 129
*.nat-pool.bgd.sbb.co.yu

Sajt: www.RoditeljPortal.com


Profil

icon Re: Pretrazivanje baze preko SQL komande01.08.2004. u 21:17
Pretpostavljam da se radi o MS SQL Serveru.
Mislim da mora da se upotrebi EXEC() da bi mogao da napises upit u textualnom obliku i da zamenis ime tabele sa text parametrom u kome ti se nalazi ime tabele. Ima tu jos jedan zez, posto u samom upitu, posle like, koristis navodnike, trebalo bi da ceo upit smestis u dvostruke navodnike. Za to treba da iskljucis QUOTED_IDENTIFIER. Probaj nesto ovako:

Code:

Declare @ImePolja varchar(20)
Set @ImePolja='Ime'
--Ne moras da deklarise @ImePolja ako ga imas kao parametar na ulazu
SET QUOTED_IDENTIFIER OFF
EXEC ("SELECT... WHERE " + @ImePolja + " LIKE 'nikola' " )
SET QUOTED_IDENTIFIER ON --opciono, ukljuci ponovo 
01.08.2004. u 21:17 

Acid
Nikola Milanovic
Cacak

Član broj: 9585
Poruke: 144
*.ptt.yu



Profil

icon Re: Pretrazivanje baze preko SQL komande03.08.2004. u 21:43
Hvala za ideju, ali
nije u pitanju MySQL vec VB.net i Access baza?!?!
Ovo bi mozda moglo da upali, ali ako mozes malo podronije objasni ovo sa iskljucivanjem navodnika.

Hvala>
03.08.2004. u 21:43 

Deep|Blue
Srce Srbije

Član broj: 631
Poruke: 1063
*.beotel.net

ICQ: 101830817


Profil

icon Re: Pretrazivanje baze preko SQL komande04.08.2004. u 11:45
a sto ne bi napravio sql upit u vb-u i izvrsio ga takvog?

Dragi boze koji jesi, gore na nebesima
Sorry što te davim u ovaj kasni sat
Ali, ja prije svitanja imam jos par pitanja
04.08.2004. u 11:45 

akrosoft
Dusan Mihajlovic
Beograd

Član broj: 31201
Poruke: 129
*.nat-pool.bgd.sbb.co.yu

Sajt: www.RoditeljPortal.com


Profil

icon Re: Pretrazivanje baze preko SQL komande04.08.2004. u 14:04
Citat:
Acid: ...
Ovo bi mozda moglo da upali, ali ako mozes malo podronije objasni ovo sa iskljucivanjem navodnika.
Hvala


SET QUOTED_IDENTIFIER nece funkcionisati u MS Accessu......
Bojim se da neces moci u MS ACCESS-u da prosledis table name kao parametar za query. Zasto stvarno ne napravis sql upit u VB.NET i ne izvrsis ga.
04.08.2004. u 14:04 

Acid
Nikola Milanovic
Cacak

Član broj: 9585
Poruke: 144
*.ptt.yu



Profil

icon Re: Pretrazivanje baze preko SQL komande04.08.2004. u 14:42
jer radim u VB 2005, koji ima neke nove metode za manipulaciju bazama. moguce je koristiti i stare .net metode (preko kojih uspevam da resim problem), ali onda mi ne vredi koriscenje 2005-ice.
04.08.2004. u 14:42 

[es] :: .NET :: Pretrazivanje baze preko SQL komande

[ Pregleda: 1971 | Odgovora: 6 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.