U ovom prilogu obradiฤemo pitanje kako kreirati ili modifikovati objekte na MS SQL serveru uz pomoฤ ADO-a (ActiveX Data Objects). Za razliku od prethodnika, DAO modela za pristup podacima, ADO ne moลพe preko objektnog modela da kreira i modifikuje objekte SQL servera. Nemoguฤe je dodati objekat u Tables kolekciju, meฤutim, to vas ne spreฤava da uputite instrukcije Transact SQL-a (Microsoft-ov SQL) koriลกฤenjem metode Execute objekta Connection i opcionog parametra adCmdText.
Kao ลกto znate, koriลกฤenjem Transact SQL-a moลพete kreirati, modifikovati, brisati device-eve, uskladiลกtene procedure i sve ostalo ลกto inaฤe radite preko Enterprise manager-a. Detaljnije o Transact SQL-u moลพete ฤitati u SQL prilozima ove rubrike. Da biste videli kako na delu moลพemo modifikovati objekte na serveru, ispratite sledeฤe korake:
- Pokrenite Visual Basic i otvorite novi standardni EXE projekat. Projekat nazovite „ModObjekt“, a glavnu formu preimenujte u frmGlavna, te dodajte referencu ka Microsoft ActiveX Data Objects 2.0.
- Dodajte na formu tri komandna dugmeta i dajte im sledeฤe nazive (osobina Name): cmdKreiraj, cmdIzmeni i cmdObrisi. Rasporedite ih kao na slici.
- Za upravljanje objektom Connection dodajte sledeฤi kod vezan za uฤitavanje forme:
Option Explicit
Private mConn As ConnectionPrivate Sub Form_Load()
Set mConn = New Connection
mConn.Open "Provider=SQLOLEDB.1;
User ID=sa;Password=password"
+ ";Location=WINEMILLER;Database=pubs"
End SubPrivate Sub Form_Unload(Cancel As Integer)
mConn.Close
Set mConn = Nothing
End Sub
- Zatim dodajte i programski kod vezan za dugmad:
Private Sub cmdIzmeni_Click()
`izmena tabele
Dim sCmd As String
sCmd = "alter table
JEDNOSTAVNA add STAVKA_N CHAR(40) "
sCmd = sCmd + "NULL"
mConn.Execute sCmd, , adCmdText
End SubPrivate Sub cmdKreiraj_Click()
`kreiranje jednostavne table
Dim sCmd As String
sCmd = "create table
JEDNOSTAVNA (SIFRA INTEGER NOT "
sCmd = sCmd + "NULL"
sCmd = sCmd + ", STAVKACHAR(40) NOT NULL)"
mConn.Execute sCmd, , adCmdText
End SubPrivate Sub cmdObrisi_Click()
`brisanje tabele
Dim sCmd As String
sCmd = "drop table JEDNOSTAVNA"
mConn.Execute sCmd, , adCmdText
End Sub
Pratite Krstaricu na www.krstarica.com