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 596 korisnika na forumu :: 4 registrovanih, 1 sakriven i 591 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3028 - dana 22 Nov 2019 07:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: havoc995, kybonacci, sakota79, zexoni