• 13 odgovora
  • 5.447 pregleda
Kako da pretrazujem bazu podataku 08.02.2005. u 19:47 · pre 264 meseci #1
Ucitao sam bazu podataka u VB i sve lepo radi(dodavanje,brisanje..).Ali nikako ne mogu da uspem da pretrazujem bazu.Napisao sam jedan kod ali on ocigledno nije u redu.Pojavljuje mi se greska.
Kod:
Data1.Recordset.FindFirst "Dug = `160`"

Ovo bi trebalo da pretrazi polje "Dug" i da mi pronadje broj 160.

Greska:Operation is not supported for this type of object
Potpis
System Alert
Re: Kako da pretrazujem bazu podataku 08.02.2005. u 20:20 · pre 264 meseci #2
Podesi da ti Recordset Type property Data kontrole bude "dynaset" umesto "table", što je verovatno slučaj kod tebe.
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Kako da pretrazujem bazu podataku 08.02.2005. u 20:21 · pre 264 meseci #3
Ja sam malo zarđao pa još deljem DAO no mislim da ti može biti od koristi. Najpre, koji recordset koristiš - Dynaset, Table, Snapshot? FindFirst je OK kod Dynaset-a, Seek kod Table-a... Proveri help. Dalje, ukoliko recordset podržava FindFirst, proveri tip podatka, tj. da li je broj ili string. Ovo kako si napisao je za string tip podatka (stavio si br. 160 pod navodnike). Ukoliko u tabeli to nije string već broj, izbriši navodnike, npr. Data1.Recordset.FindFirst "Dug=160". Ima još fora, recimo ako je recordset rezultat upita i spojio si dve tabele, a obe imaju polja istih imena, moraš navesti i ime table - ImeTabele.ImePolja i sl. Mislim da ćeš ovim rešiti problem. No ne zaboravi - ovim se pozicioniraš na prvi slog u recordsetu koji zadovoljava dati kriterijum. Ukoliko hođeš da pretražiš bazu i da vidiš koliko i koji slogovi zadovoljavaju kriterijum - recimo "Dug>0" onda moraš da koristiš SQL, bilo nad istim recordsetom bilo da kreiraš novi.

Pozdrav.
Re: Kako da pretrazujem bazu podataku 08.02.2005. u 20:24 · pre 264 meseci #4
Citat:
Dalje, ukoliko recordset podržava FindFirst, proveri tip podatka, tj. da li je broj ili string.

Citat:
recimo ako je recordset rezultat upita i spojio si dve tabele, a obe imaju polja istih imena, moraš navesti i ime table - ImeTabele.ImePolja i sl.

U ova dva slučaja, dobio bi drugačije poruke o grešci.
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Kako da pretrazujem bazu podataku 10.02.2005. u 00:17 · pre 264 meseci #8
Opet mi treba pomoc.Kako da pretrazujem bazu a da reci za pretrazivanje upisujem u TextBox.Probao sam nekoliko puta ali nesto nije u redu.Jel moze neko da mi napise primer?
Potpis
System Alert
Re: Kako da pretrazujem bazu podataku 12.02.2005. u 00:15 · pre 264 meseci #11
Bazu podataka pretrazujem uz pomoc ovog koda:
Data1.RecordSource = "Select * from Igre where NazivIgre = '" & txtPretraga.Text & "'"
Medjutim javlja se jedan problem.Kada pronadjem podatak ili ga ne pronadjem uopste,posle toga ne mogu da lista bazu podataka.
Jel zna neko neki drugi nacin za pretragu(naravno,da zeljeni kriterijum za pretragu upisujem u TextBox).
Potpis
System Alert
Re: Kako da pretrazujem bazu podataku 12.02.2005. u 15:45 · pre 264 meseci #12
To što si niaveo nije pretraga već upit koji vraća određeni broj slogova, u tvom slučaju verovatno samo jedan, jer je verovatno svaka igra upisana samo jednom.Pretragu možeš vršiti sa FindFirst, FindNext, FindLast ili FindPrevious, što bi u tvom slučaju izgledalo ovako:
Code:
Data1.RecordSet.FindFirst "NazivIgre = '" & txtPretraga.Text & "'"
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Kako da pretrazujem bazu podataku 12.02.2005. u 20:25 · pre 264 meseci #13
Onog trenutka kad na upit nakačiš WHERE to postaje i pretraga. Pitanje je samo da li ti je to cilj ili nije.

Da ne dužimo više - Postavi sledeći upit - IF Text box za pretragu <>"" Then koristi SELECT * FROM Igre WHERE ImeIgre bla bla bla (BTW predlažem da koristiš Like i *) Else koristi SELECT * FROM Igre.

Na ovaj način ćeš imati izlistane (ukoliko koristiš neku od DataList kontrola, DBGrid i sl.) rezultate pretrage, a ako ne uneseš ništa i pritisneš Pretragu, izlistaš ponovo sve igre koje postoje u bazi.

FindFirst, Find..., Seek se samo pozicioniraju na slog koji zadovoljava kriterijum, ne dobijaš podatak koliko njih ga zadovoljva. No, neki put ti baš ovo i treba, neki put je to SELECT ... WHERE ... Izbor je tvoj.

Pozdrav.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme