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

VB6 i baza podataka

[es] :: Vodič za učenje :: Seminarski radovi :: VB6 i baza podataka

[ Pregleda: 2740 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

darkofdoom83
Horgos

Član broj: 3098
Poruke: 739
*.mobtel.co.yu

Sajt: www.oxo.rs


+1 Profil

icon VB6 i baza podataka26.08.2004. u 19:59 - pre 239 meseci
Pozdrav!
Radim seminarski rad iz programiranja al sam blokirao.Naime:
Pravim program za rad sa bazom podataka ucenika.Bazu sam napravio
u accessu,a u vb-u radim sa data kontrolom i dbgridom.
Treba mi pomoc kako da resim sledece:
Potrebna mi je opcija PRETRAGA koja ce da pretrazi celu bazu po kriterijumima:
napravio sam znaci prozor,u njemu stoje 4 text boxa (ime,prezime,indeks,smer)
i dbgrid u koji bih zeleo da ispisem rezultat pretrage.
Potrebno je da pretraga radi vec sa jednim unetim podatkom.Znaci ako unesem
samo ime da mi izlista sve ucenike sa zadatim imenom.Ovo i nije problem,resio sam
sa sql komandom
Set data1.Recordset = db.OpenRecordset("SELECT * FROM student WHERE ime ='" & text1.Text & "'")
Ali kako da uradim da mi izvrsi pretragu sa 2 uneta podatka.Recimo ime i prezime.
I onda da mi izlista svakog sa tim imenom i prezimenom,a ne samo da gleda recimo
ime kao u gornjem primeru ???
Probao sam sa sql komandom OR u gornjem primeru ali to nije to,on gleda ili jedno
ili drugo,a ne oba!
Molim vas pomozite!! Rekli su mi da ovo treba uraditi sa dinamicki sql-om,a ja pojma
nemam sta je to,i ovo sto sam dosad odradio sam jedva odradio.

ps.sorry ako bas i nije razumljivo sta trazim,umoran sam,radim vec 9 sati na ovom
seminarskom.
Sve na jednom mestu:
http://www.oxo.rs
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB6 i baza podataka26.08.2004. u 20:19 - pre 239 meseci
Umesto OR stavi AND.Ovako:
Code:
Set data1.Recordset = db.OpenRecordset("SELECT * FROM student WHERE ime = '" & text1.Text & "' AND prezime = '" & Text2.Text & "'")

-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
 
Odgovor na temu

darkofdoom83
Horgos

Član broj: 3098
Poruke: 739
*.mobtel.co.yu

Sajt: www.oxo.rs


+1 Profil

icon Re: VB6 i baza podataka26.08.2004. u 20:50 - pre 239 meseci
Hvala na brzom odgovoru,ali to nije to na sta sam ja mislio.
Ovako mi ispise podatak iz baze samo kad popunim OBA polja,a fora je u tome
da ova pretraga treba da radi vec i sa jednim podatkom.
Pr.: Za ime unesem Darko. Izlista mi svakog Darka iz baze.
Ocu da preciziram i upisem za prezime Ilic.Izlista mi svakog Darka Ilica iz baze.
Dalje na primer ako ne znam prezime unesem ime i broj indeksa i on mi izbaci
ime tog studenta.

Znaci poenta je da pretraga radi i sa jednim i sa vise podataka.
Sve na jednom mestu:
http://www.oxo.rs
 
Odgovor na temu

`and

Član broj: 32490
Poruke: 776
*.vdial.verat.net

Sajt: www.bitbyterz.org


Profil

icon Re: VB6 i baza podataka26.08.2004. u 23:40 - pre 239 meseci
Ja sam imao slican problem pa sam ga resio tako sto sam prvo napravio petlju koja proverava koja polja su uneta pa na osnovu toga zvao funkcije za pronalazenje podataka u bazi . U tvom slucaju bi trebalo da imas tri funkcije : Jednu samo za ime, jednu samo za prezime i jednu za oba ... moze ?
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.telekom.yu



+104 Profil

icon Re: VB6 i baza podataka27.08.2004. u 07:58 - pre 239 meseci
Code:
Dim strSQL as String
strSQL = "SELECT * FROM student WHERE 1=1"
if text1.Text<>"" then strSQL = strSQL & " and ime = '" & text1.Text & "'"
if text2.Text<>"" then strSQL = strSQL & " and Prezime = '" & text2.Text & "'"

' i sad ovako koliko god imaš polja
' na kraju samo pretražiš 

Set data1.Recordset = db.OpenRecordset(strSQL)

ne znam koliko je ono "1=1" pametno rešenje, ali ne znam kako je najbolje ovo uraditi. Ovako je sigurno najlakše
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

mladenovicz
Zeljko Mladenovic
Xoran Technologies, Inc., Ann Arbor, MI,
USA / Software Engineer
Ann Arbor, MI, USA

Član broj: 6598
Poruke: 2065
*.bg.wifi.vline.verat.net

Jabber: mladenovicz@elitesecurity.org
ICQ: 95144142
Sajt: yubc.net/~mz


Profil

icon Re: VB6 i baza podataka27.08.2004. u 09:21 - pre 239 meseci
Citat:
vujkev
ne znam koliko je ono "1=1" pametno rešenje, ali ne znam kako je najbolje ovo uraditi.


Napravi funkciju AddToWhere koja dodaje uslov u WHERE klauzulu. Evo koda, doduse ASP, ali je ideja jasna

Code:

<%
Function AddToWhere(WhereString, Condition, Operand)
    Dim Res
    
    If WhereString = "" Then 
        Res = " WHERE " & Condition
    Else
        Res = WhereString & " " & Operand & " " & Condition
    End If
    
    AddToWhere = Res
End Function
%>


Ova funkcija se po potrebi prosiri. Imao sam negde mnogo vecu funkciju, sa vise featurea (koja ima jos ulaznih parametara, pa dodaje '' za string, ## za date, ...) ali ne mogu sad da nadjem ;)

 
Odgovor na temu

blackman

Član broj: 14516
Poruke: 67
195.252.107.*



Profil

icon Re: VB6 i baza podataka27.08.2004. u 09:30 - pre 239 meseci
Probaj ovako:

Code:
Dim strSQL as String
Dim strWhere as String

strSQL = "SELECT * FROM student"
strWhere = ""

if text1.Text<>"" then
   strWhere = strWhere & "Ime = '" & text1.Text & "' and "
end if
if text2.Text<>"" then
   strWhere = strWhere & "Prezime = '" & text2.Text & "' and "
end if

...  // Ovako za svako polje

if strWhere <> "" then    // zavrsava se sa " and " pa treba ovo skinuti
   strWhere = left(strWhere, len(strWhere) - 5)
end if

if strWhere <> "" then  // komletirati SQL upit
   strSQL = strSQL & " WHERE " & strWhere
end if

Set data1.Recordset = db.OpenRecordset(strSQL)


Ovako će raditi i ako nemaš ništa izabrano od uslova.

Pozdrav !!!
 
Odgovor na temu

darkofdoom83
Horgos

Član broj: 3098
Poruke: 739
*.mobtel.com

Sajt: www.oxo.rs


+1 Profil

icon Re: VB6 i baza podataka27.08.2004. u 12:04 - pre 239 meseci
Hvala blackman,ovaj kod radi bas to sto mi treba! :) :) :)
Hvala i ostalima na idejama!

Nego imao bih jos jedan problem,posto sam ovaj resio.
U tabeli STUDENT imam polje SMER u kome imam tri vrste smera E,I,M .
Trebao bi mi kod sa kojim mogu da promenim ova slova u mala.Znaci u bazi
mi sve stoji sa velikim slovima,i kad recimo odem u meni i izaberem "promeni slova"
onda mi sva ta velika slova promeni u mala,ali ne samo kod ispisa na ekran,vec i u
samoj bazi!
I ovo sam probao da resim ali mi ne ide,programiranje mi nije jaca strana...
Sve na jednom mestu:
http://www.oxo.rs
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.telekom.yu



+104 Profil

icon Re: VB6 i baza podataka27.08.2004. u 12:28 - pre 239 meseci
Code:
Update STUDENT set smer = LCase(smer)

tj
Code:
db.execute "Update STUDENT set smer = LCase(smer)"

Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

blackman

Član broj: 14516
Poruke: 67
195.252.107.*



Profil

icon Re: VB6 i baza podataka27.08.2004. u 12:58 - pre 239 meseci
Još jedna napomena vezana za mala i velika slova.

Ako su ti potrebna samo mala slova u tabeli koja kao takva i prikaziješ,
ograniči unos za to polje u tabeli samo na mala slova kroz KODIRANJE.

Pozdrav !!!
 
Odgovor na temu

darkofdoom83
Horgos

Član broj: 3098
Poruke: 739
*.mobtel.com

Sajt: www.oxo.rs


+1 Profil

icon Re: VB6 i baza podataka27.08.2004. u 14:56 - pre 239 meseci
VUJKEV hvala ti,to je to ! :)

Hvala i ostalima koji su mi pomogli,ili barem pokusali!
Zavrsio sam seminarski,jos mozda malo proradim na error handlingu...

Blackman : to sam vec odradio,posto su mi bila potrebna velika slova
namestio sam da sva slova koja unese u textbox prebaci prvo u velika
i tako upise u bazu!
Sve na jednom mestu:
http://www.oxo.rs
 
Odgovor na temu

[es] :: Vodič za učenje :: Seminarski radovi :: VB6 i baza podataka

[ Pregleda: 2740 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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