Minggu, 22 Maret 2009

Resume Pemrograman Visual 2 part II

KONSEP OBYEK CONNECTION

Sebelum dapat bekerja dengan data pada aplikasi yang dibuat, terlebih dahulu anda harus membuat koneksi dan melakukan metode open agar komunikasi dengan databse dapat dilakukan. Ada 2 cara untuk membuat obyek koneksi. Secara visual dengan menambahkan kontrol Connection dan secara koding dengan mengetikkan obyek Connection secara manual.

NET DATA PROVIDER

Yaitu sekumpulan class-class yg digunakan untuk melakukan koneksi kedalam database,serta untuk mengambil dan meng-update data. ADO.NET mengklarifikasi beberapa tipe .NET Data Provider berdasarkan jenis database yang digunakan yaitu

1. SQL Server (SQL SERVER 7.0 keatas seperti SQL SERVER 2000 dan SQL SERVER 2005)

2. OLE.DB (SQL SERVER 6.5, Microsoft Access serta database lain yang memiliki provider OLE.DB)

3. ORACLE (Database Oracle versi 7.3, 8i, 9i)

4. ODBC (Database yang mempunyai driver ODBC)

PROPERTI CONNECTION STRING

Sebuah connection string mendefinisi parameter-parameter yang dibutuhkan didalam membuat suatu koneksi pada database. Diantaranya yaitu

1. Provider (khusus untuk OLE DB)

2. Data Source (nama dan letak server database)

3. Initial Catalog (nama database pada provider)

4. Integrated Security (verifikasi login pada database)

Contoh connection string

- SQL SERVER

“Data Source=MyComputer;Initial Catalog=pubs;Integrated Security=SSPI;”

- Microsoft Access

“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\path\mydb.mdb;UserId=admin;Password=;”

- Oracle

“Data Source=MyOracleDB;User Id=username;Password=passwd;Integrated Security=no;”


OBYEK COMMAND

Penggunaan perintah SQL secara dinamis langsung dari aplikasi anda. Perintah macam select, insert, update, delete, create tabel ataupun stored procedure harus menggunakan obyek SqlCommand.Contoh penulisan syntax-nya

Dim cmd As SqlCommand=New SqlCommand(“Perintah SQL”, oSQLConn)

Atau dengan menggunakan syntax berikut ini

Dim cmd As New SqlCommand

cmd.Connection = oSQLConn

cmd.CommandText = “Perintah SQL”

Berikut ini beberapa metode yang dapat dilakukan untuk menjalankan obyek command

1. ExecuteReader

Digunakan untuk menghasilkan sekumpulan data yang berbentuk DataReader yang bersifat read-only dan forward-only

2. ExecuteScalar

Digunakan untuk menghasilkan sebuah nilai, contoh


Dim cmd As SqlCommand = New SqlCommand(“select COUNT (*)from Mahasiswa”, oSQLConn)

cmd.Connection.Open()

Dim jmlMhs As String = cmd.ExecuteScalar

cmd.Connection.Close()

3. ExecuteNonQuery

Tidak menghasilkan nilai apapun tapi membawa banyaknya jumlah record dari perintah SQL tersebut. Cara penggunaan metode ExecuteNonQuery..


Dim cmd As SqlCommand = New SqlCommand(“insert into Mahasiswa values(‘05410100205’,’Bintang Luhurjaya’,’Surabaya’,’S1SI’)”,oSQLConn)

cmd.Connection.Open()

cmd.ExecuteNonQuery()

cmd.Connection.Close()

4. ExecuteXMLReader

Menghasilkan versi XML dari DataReader. Hanya terdapat di SQL SERVER 2000, tidak tersedia pada .NET Data Provider yang lain, serta tidak dapat bekerja pada database SQL SERVER 7.0. Contoh penggunaan ExecuteXMLReader..


Dim cmd As New SqlCommand

Dim strWrt As New StreamWriter (“Test.xml”)

cmd.Connection = oSQLConn

cmd.Connection = “select * from Mahasiswa FOR XML AUTO”

cmd.Connection.Open()

Dim xmlr As XmlReader = cmd.ExecuteScalar()

Xmlr.Read()

Do While smlr.ReadState <> Xml.ReadState.EndOfFile

strWrt.WriteLine(smlr.ReadOuterXml())

Loop

Xmlr.Close()

strWrt.Close()

cmd.Connection.Close()


OBYEK DATA READER

Karena sifat DataReader yang read-only dan forward-only sehingga data yang ada pada obyek DataReader tidak dapat dimanipulasi, dan sekali anda membaca data tersebut maka tidak dapat kembali lagi membaca data sebelumnya. Dalam membuat obyek DataReader diharuskan memanggil metode ExecuteReader dari obyek ADO.NET yang lain,yaitu obyek command.

Dim rdr As SqlDataReader = cmd.ExecuteReader()

If rdr.HasRows = True then

Dim status As Boolean = True

Do Until Not Status

While (rdr.Read())

MessageBox.Show(rdr.Item(0))

End While

Status = rdr.NextResult()

Loop

Rdr.Close()

oSQLConn.Close()

End If