Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 14 odgovora
  • 3.265 pregleda

Najnovija ↓

Čitanje podatak iz baze 13.01.2004. u 21:03 · pre 277 meseci #1
Prvi put sam na ovom forumu i moram priznati da me je izbor tema ugodno iznenadio. Vidim da početnici poput mene često dobivaju pomoć, pa se nadam da će i sa mnom biti isto.
Aplikacija je napisana u VB i radi s access bazom (Access 2000).
Cijela aplikacija je rađena tako da su prezentacijski sloj i sloj logike pomiješani u VBScript kodu asp stranice. Kod samog ulaska na home page registrirani posjetioc bi trebao biti pronađen u bazi podataka nakon što upiše svoje prezime i lozinku(zaporku), a svaki novi posjetioc ide prvo na registraciju.
E tu se javlja problem: u bazu "Razred" se učitavaju podaci novoregistriranoga, međutim ne čitaju se podaci postojećih članova u bazi ( npr.tablica Roditelji u kojoj su polja: RoditeljID, Ime, Prezime, Zaporka).
Gledam u svoj napisani kod već satima, ali mi ne ide, pa se nadam da ćete mi pomoći.
U ovom dijelu koda griješim:

<%@ Language=VBScript %>
<% if isempty(Request.Form("Zaporka")) then
Poruka="Unesite tra&#382ene podatke, te kliknite na sliku lijevo."
else
set conn = server.createobject ("adodb.connection")
conn.open "Razred"
set rsRoditelj = conn.execute ("SELECT RoditeljID FROM Roditelji where Prezime =' " _
&Request.Form("Prezime") & " ' and Zaporka ='" _
&Request.Form("Zaporka") & " ' ")
if rsRoditelj.EOF then
Poruka="Vi niste u našoj bazi podataka.Registrirajte se."
else
Session("RoditeljID") = rsRoditelj("RoditeljID")
Response.Redirect "sadrzaj.asp"
end if
end if
%>

Hvala
Re: Čitanje podatak iz baze 13.01.2004. u 21:53 · pre 277 meseci #2
Pretpostavljam da je ime fajla "razred.mdb" ?

Code:

Dim conn
Set conn = Server.CreateObject("ADODB.Connection") 
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\putanja_do_baze\razred.mdb;Persist Security Info=False"


Dim rsRoditelj
Set rsRoditelj = Server.CreateObject("ADODB.Recordset") 

Dim SQL
SQL = "SELECT RoditeljID FROM Roditelji where Prezime =' " _
       & Request.Form("Prezime") & " ' and Zaporka ='" _
       & Request.Form("Zaporka") & " ' "

conn.Open     
rsRoditelj.Open SQL, conn

If rsRoditelj.EOF Then
  Poruka = "Vi niste u našoj bazi podataka.Registrirajte se."
Else
  Session("RoditeljID") = rsRoditelj("RoditeljID")
  Response.Redirect "sadrzaj.asp"
End If


Tako nekako. Problem je bio, čini mi se, kod definisanja connection string-a.


Potpis
Commercial-Free !!!
Re: Čitanje podatak iz baze 14.01.2004. u 13:04 · pre 277 meseci #3
Ili ako ides sa ODBC samo dodaj
conn.opne "baza", "", ""

druga dva parametra su ti login i sifra.
Re: Čitanje podatak iz baze 14.01.2004. u 19:51 · pre 277 meseci #4
Hvala vam.
Probala sam, ali nažalost nije došlo ni do kakve promjene. Mislila sam da je možda problem u nekompatibilnosti VB6 i Accessa 2000 (u kojem je baza pravljena), pa sam probala i sa drugim bazama pravljenim u Accessu '97, međutim problem je isti.
Ako biste bili tako susretljivi da analizirate kod direktno uz uvid u bazu, mogu vam zipovati sporni dio aplikacije i bazu jer ja stvrano ne znam što da radim, jer sve dalje zahtjeva povezivanje s bazom i iščitavanje podataka iz iste.

Hvala još jednom.
Re: Čitanje podatak iz baze 14.01.2004. u 20:06 · pre 277 meseci #5
Postavi zipovan fajl ovde na ES (prikači ga uz poruku) pa će verovatno neko da odvoji malo vremena da pogleda.
Potpis
Commercial-Free !!!
Re: Čitanje podatak iz baze 15.01.2004. u 12:17 · pre 277 meseci #6
Mislim da ti je ovde problem.

Code:

&Request.Form("Prezime") & " ' and Zaporka ='" _
&Request.Form("Zaporka") & " ' ")


iz ovoga dobijas

Code:

Prezime = ' vrednost1 ' and Zaporka = ' vrednost2 '


a ovo ti nece vratiti nista, jer imas spaceove na pocetku i kraju. Ovo treba da izgleda ovako.

Code:

Prezime = 'vrednost1' and Zaporka = 'vrednost2'


Znaci, ovo:
Code:

set rsRoditelj = conn.execute ("SELECT RoditeljID FROM Roditelji where Prezime =' " _
&Request.Form("Prezime") & " ' and Zaporka ='" _
&Request.Form("Zaporka") & " ' ")


zameni sa

Code:

set rsRoditelj = conn.execute ("SELECT RoditeljID FROM Roditelji where Prezime ='" _
&Request.Form("Prezime") & "' and Zaporka ='" _
&Request.Form("Zaporka") & "'")


Ovo sve pod uslovom da ti je connection string dobar, sto mozes testirati izbacivanjem WHERE dela iz SQL upita (probaj da ti upit vrati bilo sta).
Potpis
Blue Man Group
Re: Čitanje podatak iz baze 16.01.2004. u 19:58 · pre 277 meseci #7
Nažalost to nije greška u kodu jer u orginalonoj aplikaciji nema spaceova unutar navodnika, tako da ni dalje ne znam u čemu je problem, pa ću poslati attachment s dijelom apliacije uz ovu poruku.
Re: Čitanje podatak iz baze 17.01.2004. u 14:39 · pre 277 meseci #8
Prikacio sam uz poruku asp fajl koji kod mene radi (kad sam testirao baza i ASP fajl su se nalazili u istom folderu-Inetpub\wwroot\). Napravio sam par sitnih izmena, pa pogledaj. I dalje nisam siguran sta je greska, ali probaj kao sto imas u izmenjenom asp fajlu da ispisujes SQL upit, pa da vidis kako izgleda i da li je tu problem. Meni na pocetku nije radilo jer textbox Prezime ima default vrednost " ", pa ako ukucam, na primer, pera, u SQL upitu je stajalo ' pera', tako da je moguce da je to problem.

Potpis
Blue Man Group
Re: Čitanje podatak iz baze 17.01.2004. u 21:36 · pre 277 meseci #9
Željko hvala, hvala, hvala......!!!!!!!
Greška je zaista bila u space-u unutar navodnika kod textbox-a.
Nitko sretniji od mene sad. Adio.
Forum je sjajan i dobili ste još jednog stalnog posjetitelja.
Re: Čitanje podatak iz baze 18.01.2004. u 02:15 · pre 277 meseci #10
:)
Ovo je bio jedan od onih problema cije resavanje zahteva 2 sekunde, a pronalazenje 5 dana.
Potpis
Blue Man Group
Re: Čitanje podatak iz baze 20.01.2004. u 21:06 · pre 277 meseci #11
Evo me opet.I naravno opet s pitanjem: gdje sam falila ?
Greška:Data type mismatch in criteria expression.
dnevnik.asp, line 20 ( set rsDetalji = conn.execute (Qry) )
U prilogu attachment.
Pozdrav, Mišel
Re: Čitanje podatak iz baze 21.01.2004. u 11:47 · pre 277 meseci #12
Code:

If isempty(Session("UcenikID")) Then
    Response.Write "dozvola_pristupa.asp"
End If


Pretpostavljam da ovde ide Redirect umesto Write. Ovako ce ako je isempty(Session("UcenikID")) nastaviti sa izvrsavanjem SQL upita i onda nastane type mismatch jer u SQLu imas samo UcenikID =, nema cemu to treba da bude jednako.

Ako ovo nije greska, onda nam treba vise detalja, npr. kog tipa je polje UcenikID?
Potpis
Blue Man Group
Re: Čitanje podatak iz baze 21.01.2004. u 20:36 · pre 277 meseci #13
Ovaj put šaljem cijelu "aplikaciju" pa će greška bit vidljivija.
Hvala
Re: Čitanje podatak iz baze 22.01.2004. u 12:50 · pre 277 meseci #14
Svuda treba linije ovog tipa

Code:

<%rsDetalji("Ocjene") %>


da zamenis sa:

Code:

<%=rsDetalji("Ocjene") %>


znaci treba ubaciti znak =

Data type mismatch in criteria expression greska ocigledno ima veze sa upitom. S obizorm da je u WHEREu samo UcenikID, znaci da je to problem. Ako je polje UcenikID u tabeli Predmet tipa Text, onda ovo

Code:

Qry = "SELECT Naziv, Ocjene " _
& "FROM Predmet " _
& "WHERE UcenikID = " _
& Session("UcenikID")


treba da izgleda ovako

Code:

Qry = "SELECT Naziv, Ocjene " _
& "FROM Predmet " _
& "WHERE UcenikID = '" _
& Session("UcenikID") & "'"


Ako ovo ne pomogne, onda moras da okacis bazu, pa da vidimo sta je.
Potpis
Blue Man Group
Re: Čitanje podatak iz baze 22.01.2004. u 20:15 · pre 277 meseci #15
Pa što da ti kažem Željko nego opet HVALA i to veliko HVALA!!!!

Mišel
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme