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