Izvrsavanje SQL upita nad bazom koriscenjem ADO komponente

Izvrsavanje SQL upita nad bazom koriscenjem ADO komponente

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

ako mene pitate, vise volim da pristupam bazi preko ADO (ActiveX Data Objects) komponenata zato sto imam vise slobode nego u DAO komponentama gde vec imam ugradjene opcije za AddNew, Delete, Update...
mozda i moze i preko ovoga da se izvrsavaju SQL upiti, ali ja nisam nasao i mislim da bazu (Access sa passwordom) sa DAO ne mozete da otvorite...

da bi sve ovo bilo moguce morate napraviti dva objekta.
jedan je Recordset, a drugi Connection

<% Dim rs, conn, sql Set rs = Server.CreateObject("ADODB.Recordset") Set conn = Server.CreateObject("ADODB.Connection") %>

kada smo napravili ta dva objekta, sada nam treba Connection string kako bi se mogli povezati na bazu podataka. napisacu Connection string za Access i za mySQL server....

TIP: ove Connection string-ove mozete staviti u jedan zaseban fajl i include-ovati ih po potrebi komandom <!--#include file="ime_fajla"-->

mySQL
<% conn.open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=ime_baze; UID=korisnicko_ime; Password=password" %>

Access (vec je bilo, ali nema veze Wink)
<% conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("ime_baze.mdb") & ";Password=password" %>

kada ste napravili ove Connection string-ove, sada vec mozete da idete dalje.

ako zelite da izvrsite SQL upit nad bazom koja ne vraca nikakav rezultat (kao SELECT upit)... izvrsavanje upita mozete ovako izvesti:

<% conn.Execute("SELECT * FROM ime_tabele WHERE id=14;") %>

ako SQL upit vraca vrednost, mozete na ovaj nacin:

<% Set rs = conn.Execute("SELECT * FROM ime_tabele WHERE id=14;") %>

ili


<% rs.Open "SELECT * FROM ime_tabele WHERE id=14;", conn %>

ako zelite da ispisete sve zapise, koristite Do While petlju

pre ovoga treba da izvrsite SQL upit na jedan od nacina koje sam naveo
<% Do NOT While rs.EOF rs.MoveNext Loop %>

kada zelite da proverite da li je SQL upit vratio nesto iz baze, ovaj kod sve resava


<% If rs.EOF Then Response.Write("SQL upit nije, aman bas nista, vratio! :)") End If %>

ako pronadjete bugove, slobodno ih prijavite... moze biti da ih ima Smile
i najbolji grese Wink



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • drejk 
  • Ugledni građanin
  • Pridružio: 31 Mar 2005
  • Poruke: 448
  • Gde živiš: Novi Beograd

Aj jedno glupo pitanje...

Kako da iz bazu podataka u accessu, jelte... izvuchem iz jednoga polja
(fielda, narodski) i sve turim u jedan kombo bokschic...Ja nesto
chachko svasta i tako to...
Ono sa additem nesto mi ne ide, a i kako da napravim loop tako da
mi on nekako jelte prochita, pa movenext pa ja mu dam additem pa onda
u krug... ja se jelte, muchio al na kraju nisc.. pa pitah ovde da mi vi
mozgovi odgovorite...

puno pozdrava

drejk



offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

odgovoreno

Ko je trenutno na forumu
 

Ukupno su 1182 korisnika na forumu :: 56 registrovanih, 8 sakrivenih i 1118 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 015, 357magnum, Andrija357, Apok, APS, Arsenije, Barista, bojcistv, bokicacar, Clouseau, Daba75, darkojbn, darkojovxp, doktor097, DrNeoCortex, Džekson, Foxdie, GandorCC, ivan_8282, Ivanmateja, jalos, Jeremiah, Kajzer Soze, Koca Popovic, kolle.the.kid, ladro, LjubisaR, M74AB3, mat, Mi lao shu, mocnijogurt, Nemanja.M, niki-mini_maki, Niki2024, nikolapetkovic, nisamBot, oldtimer, Paki, Parker, Pilipenda, Radio operater, radoznao, ruger357, samocitam, skok, Stevan2026, ujke, VanZan, vespa nikola, vidra1, virked, VJ, vukovi, vuksa72, yufighter, Zmajac