[ gvero @ 26.01.2005. 18:47 ] @
Evo, odlučih se napraviti jednu aplikaciju - bazu podataka - za više korisnika, i nadam se da ću ovdje uvijek dobiti pomoć :)
Bazu podataka radim sa kontrolom MSADODC.OCX. Za početak bih htio imati provjeru korisničkog imena i lozinke. Dakle, imam formu te 2 textboxa (recimo Text1 i Text2) koji služe za upis korisničkog imena i lozinke.
Sad bi, kad korisnik klikne Login, trebalo bi se provjeravati u Accessovoj bazi je li ijedan korisnik odgovara svojoj lozinki. Imam nekakve ideje kako to napraviti no ne ide mi baš... Mislim preko SQL-a...
No, da ne duljim, molim vas pomoć.

Hvala unaprijed!
[ mladenovicz @ 26.01.2005. 18:52 ] @
Rekao bih da ti baze nisu jaca strana. Pogledaj TOP topic, tamo imas link na temu koja se zove Korak po korak ADO, SQL, ... Mislim da ce ti to koristiti pre nego sto krenes da radis nesto ozbiljnije.
[ gvero @ 26.01.2005. 22:08 ] @
evo mislio sam nešto ovako
Code:
Dim strSQL As String
strSQL = "SELECT * From Korisnici WHERE text1.text= Ime AND text2.text=Lozinka"

ispravite me u ovome: nisam dovoljno upoznat ni sa " ni sa ' u sql-u.
usput, kako bi se sada provjeravalo postoji li takav zapis gore.
[ mladenovicz @ 27.01.2005. 12:53 ] @
String vrednosti moraju biti unutar '

Code:

Dim strSQL As String
strSQL = "SELECT * From Korisnici WHERE Ime = '" & text1.text & "'  AND Lozinka='" & text2.text & "'"
[ quattor @ 27.01.2005. 15:33 ] @
Hmmm, kao dodatak ovoga, polja sa korisnickim imenom i lozinkom bi mogao da cryptujes. Password za bazu podataka se podrazumeva, ali ne predstavlja nikakvu znacajniju prepreku od otvaranja baze. Kriptovanje osetljivih polja je vec nesto ozbiljniji posao. Takodje, kad vec radis Log on, razmisli o vodjenju evidencije koriscenja baze od strane razlicitih korisnika. Kao dodatak ovome, razmisli i o upisu svake akcije ponaosob, npr. Dodavanje, Promena, Brisanje podataka ili neka druga znacajnija promena od strane korisnika. Sve ovo nije previse komplikovano, no osnove sa bazama moras da savladas.

Pozdrav.
[ gvero @ 29.01.2005. 00:30 ] @
ok, ali kako mogu provjeriti iz koda
Code:
Dim strSQL As String
strSQL = "SELECT * From Korisnici WHERE Ime = '" & text1.text & "'  AND Lozinka='" & text2.text & "'"
je li unos ispravan, tj. postoji li takav korisnik?
[ quattor @ 29.01.2005. 09:36 ] @
Jednostavno - pitas se If RS.EOF AND RS.BOF then => nema korisnika jer tvoj upit nije vratio ni jedan slog. Mozes i da otvoris kompletnu tabelu sa imenima i lozinkama svih registrovanih korisnika i da u njemu potrazis onoga koji se prijavio sa: RS.FindFirst "UserName=" & Chr$(34) & Text1.Text & Chr$(34) & " AND Lozinka=" & Chr$(34) & Text2.text & Chr$(34), a onda pitas IF RS.NoMatch => nema takvog korisnika. Naravno, RS je Recordset, a Chr$(34) je znak navoda - ".

Razmisli i da svakom korisniku dodelis pravo pristupa - od gosta do administratora. Kada proveris korisnicko ime i lozinku, ujedno pokupis i pravo pristupa. Sta god da taj korisnik pokusa sa bazom, njpre proveris na sta ima pravo i onda mu to dozvolis. ovo je jako jednostavno izvesti, cak i vec odradjenoj aplikaciji, a vrlo je efektno i pozeljno sa stanovista ocuvanja integriteta baze podataka.

Pozdrav.
[ fragolan @ 03.02.2005. 23:57 ] @
Evo jednog primera sa PSC koji sam ja malo modifikovao. U bazi trebas da imas tabelu Admin sa poljima korisnik, sifra, ja sam ubacio jos polja za definisanje privilegija sta koji korisnik moze da radi.
[ X-Cite @ 04.02.2005. 08:51 ] @
Nisam uspjeo da otvorim formu... javlja mi mnogo gresaka i na kraju out of memory
[ fragolan @ 08.02.2005. 00:31 ] @
Ooooooooops sori, nisam ocistio kod od nekih mojih varijantnih resenja. Sad bi trebalo da radi. Ne zaboravi da kreiras Access bazu pod nazivom Baza, kao i tabelu u okviru nje pod nazivom admin sa poljima korisnik i sifra. Baza mora biti u fascikli gde je i forma, tj aplikacija.
Pozdrav
[ gotivac @ 08.02.2005. 23:51 ] @
Hmm, u prvom redu imaš kod:

Dim Adologin As Recordset

koji meni prijavljuje grešku. "User-defined type not defined" !?

[ Aleksandar Ružičić @ 10.02.2005. 01:21 ] @
hmm, nisam gledao kod, ali bi trebalo da imas ukljucenu referencu na ADO.
Project -> References i izaberes "Microsoft ActiveX Data Objects 2.1 Lybrary" (tebi je verzija, ovo 2.1, verovatno novija, mene mrzi da radim update :p)