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 822 korisnika na forumu :: 52 registrovanih, 5 sakrivenih i 765 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Alexandar-1973, anbeast, bobomicek, Boris Bosiljčić, borya90, cavatina, chichabg, crnitrn, deLacy, Denaya, djboj, Dorcolac, draggan, dragoljub11987, Duh sa sekirom, dzoni19, FOX, Gargantua, Georgius, Karla, laurusri, lord sir giga, mercedesamg, Mercury, Metanoja, milenko crazy north, moldway, mrav pesadinac, Ne doznajem se u oružje, nemkea71, nenad81, Niko Bitan, nikoladim, NoOneEver Dreams, Sančo, Sirius, skvara, Srle993, Toper, trutcina, vathra, virked, Vitomir, vlahale, voja64, VP6919, Wrangler, zzapNDjuric99, |_MeD_|, Žrnov, šumar bk2