Anda di halaman 1dari 25

LAPORAN PEMROGAMAN

BASIS DATA JARINGAN


Using Datasets and Data Adapters

Disusun oleh:
Ajeng Yona Falah
Informatika 3A
3.34.12.0.01

PROGAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2014/2015

I.

Tujuan Instruksional Khusus


Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu:
1. Memahami apa itu dataset dan data adapter
2. Menggunakan dataset dan data adapter pada VB.NET
3. Mengubah data source
4. Menggunakan dataset untuk membuat file XML
5. Menggunakan data tabel tanpa dataset

II.

Dasar Teori
Memahami Model Object
Kita harus mengenal dalam bekerja dengan dataset dan Data Adaptor. Kita akan
mulai dengan melihat perbedaan antara dataset dan Data Reader, dan kemudian
melanjutkan untuk melihat lebih detail bagaimana data terstruktur dalam dataset
dan bagaimana dataset bekerjasama dengan Data Adaptor.
Datasets vs Data Readers
Jika Kita hanya ingin membaca dan menampilkan data, maa ka Kita hanyperlu
menggunakan Data Reader, seperti yang Kita lihat pada bab sebelumnya, terutama
jika Kita bekerja dengan sejumlah data besar, dalam situasi negosiasi di mana Kita
harus mengulang melalui ribuan atau jutaan baris, Kita ingin sequenesensial reader
(membaca baris dari hasil set satu per satu), dan Data Reader melakukan pekerjaan
ini dengan cara yang efisien. Jika Kita perlu memanipulasi data dengan cara apapun
dan kemudian memperbarui database, Kita harus menggunakan dataset. Sebuah
Data Adaptor mengisi dataset dengan menggunakan Data Reader; sumber tambahan
diperlukan untuk menyimpan data untuk penggunaan terputus. Kita harus berpikir
tentang apakah Kita benar-benar membutuhkan dataset; jika tidak, Kita hanya akan
membuang-buang sumber daya. Kecuali Kita perlu memperbarui Data Source atau
menggunakan fitur dataset lain seperti read dan write ke file XML, mengekspor
basis data skema, dan menciptakan XML database, menggunakan Data Reader.
Perkenalan Datasets
Dataset dalam ADO.NET adalah langkah besar dalam dunia pengembangan
aplikasi database multitiered. Ketika mengambil atau memodifikasi data dalam
jumlah besar, menjaga koneksi terbuka ke Data Source sambil menunggu pengguna

untuk membuat permintaan merupakan limbah besar sumber daya yang sangat
berharga.
Dataset sangat membantu di sini, karena mereka memungkinkan Kita untuk
menyimpan dan memodifikasi jumlah data besar dalam cache lokal, melihat data
tabel, dan memproses data secara offline Modus (dengan kata lain, terputus dari
database).
Mari kita lihat sebuah contoh. Bayangkan Kita sedang mencoba untuk
menyambung ke server basis data jauh melalui Internet untuk informasi rinci
tentang beberapa transaksi bisnis. Kita mencari ditanggal tertentu untuk semua
transaksi yang tersedia, dan hasilnya akan ditampilkan. Di balik adegan, aplikasi
Kita membuat koneksi dengan Data Source, bergabung dengan beberapa tabel, dan
mengambil hasil. Misalkan Kita sekarang ingin mengedit informasi ini dan
menambahkan atau menghapus details.Whatever alasannya, aplikasi Kita akan
pergi melalui siklus yang sama berulang-ulang lagi: membuat koneksi baru,
bergabung tabel, dan mengambil data. Tidak hanya ada kelebihan kepala dalam
menciptakan koneksi baru setiap kali, tetapi Kita mungkin akan melakukan banyak
berlebihan lainnya bekerja, terutama jika Kita sedang berhadapan dengan data yang
sama. Bukankah lebih baik jika Kita dapat menghubungkan ke Data Source sekali,
menyimpan data secara lokal dalam struktur yang menyerupai data- relasional
dasar, menutup sambungan, memodifikasi data lokal, dan kemudian menyebarkan
perubahan Data Source kapan waktu yang tepat?
Dataset dirancang untuk melakukannya. Sebuah toko dataset data relasional sebagai
koleksi data tables.Kamu bertemu tabel data secara singkat dalam bab sebelumnya
ketika Objek System.Data. dan DataTable adalah untuk menyimpan informasi
skema. Dalam hal itu, bagaimanapun, tabel data hanya berisi informasi skema,
tetapi dalam dataset, tabel data yang berisi baik metadata yang menggambarkan
struktur data dan data itu sendiri. Seperti pada Figure 13-1 menunjukkan arsitektur
dataset.

Figure 13-1. Dataset architecture


Arsitektur mencerminkan desain logis dari database relasional. Kita akan melihat
bagaimana menggunakan tabel data, baris data, dan kolom data dalam bab ini.
Pengenalan Data Adapters
Ketika pertama kali Kita instantiate dataset, itu tidak berisi data. Kita mendapatkan
dataset yang dihuni oleh Data Adaptor, yang menangani rincian sambungan dan
merupakan komponen dari data provider. Sebuah dataset bukan bagian dari data
provider. Ini seperti ember, siap untuk diisi dengan air, tapi perlu pipa eksternal
untuk membiarkan air masuk. Dengan kata lain, kebutuhan dataset dan data adaptor
untuk mengisi dengan data dan untuk mendukung akses ke Data Source. Setiap data
provider memiliki data adapter sendiri dengan cara yang sama bahwa ia memiliki
konektor sendiri tion, perintah, dan Data Reader. Figure 13-2 menggambarkan
interaksi antara dataset,data adapter, dan Data Source.

Figure 13-2. Dataset,data adapter,and data source interaction

Data Adaptor konstruktor kelebihan beban. Kita dapat menggunakan salah satu dari
berikut untuk mendapatkan barudata adapter. Kita menggunakan data provider SQL
Server, tapi konstruktor untuk data lain provider analog.
Dim da As SqlDataAdapter = New SqlAdapter
Dim da As SqlDataAdapter = New SqlAdapter (cmd)
Dim da As SqlDataAdapter = New SqlAdapter (sql, conn)
Dim da As SqlDataAdapter = New SqlAdapter (sql, connString)
Jadi, Kita dapat membuat Data Adaptor empat cara:

Kita dapat menggunakan nya (SQL menetapkan dan menyambungkan


kemudian) parameterless konstruktor.

Kita dapat melewati konstruktor perintah (di sini, cmd adalah objek
SqlCommand).

Kita dapat melewati string SQL dan sambungan.

Kita dapat melewati string SQL dan string koneksi.


Kita akan melihat semua kerja ini dalam tindakan segera. Untuk saat ini, Kita
akan bergerak dan menunjukkan bagaimana menggunakan tabel data, kolom
data, dan baris data. Kita akan menggunakan ini di bagian yang akan datang.

Pengenalan Data Tables, Data Columns, dan Data Rows


Sebuah tabel data adalah turunan dari System.Data.DataTable kelas. konseptual
analog tabel relasional Ini seperti ditunjukkan dalam Figure 13-1, tabel data
memiliki koleksi baris data dan data kolom. Kita dapat mengakses koleksi
bersarang melalui Baris dan Kolom sifat tabel data.
Sebuah tabel data dapat mewakili tabel berdiri sendiri atau independen, baik di
dalam dataset seperti yang akan Kita lihat dalam bab ini-atau sebagai objek yang
diciptakan oleh metode lain, seperti yang Kita lihat di bab sebelumnya ketika
sebuah tabel data yang dikembalikan dengan memanggil metode GetSchemaTable
pada Data Reader. Kolom Data pada skema kolom dalam tabel data dan kemudian
dapat digunakan untuk mengatur atau mendapatkan properti kolom. Misalnya, Kita
bisa menggunakannya untuk mengatur nilai default kolom dengan menetapkan nilai
properti DefaultValue kolom data.

III.

Alat dan Bahan


1. SQL Server 2014
2. Visual Basic NET
3. Northwind Sample Database

IV.

Langkah Kerja
A. Mengisi Sebuah Dataset dengan Data Adapters
1. Buat Projek Visual Basic Console Aplication baru dengan nama Chapter13.

2. Ubah nama projek Chapter13 menjadi PopDataset. Ubah nama file


Module1.vb menjadi PopDataset.vb.

3. Ketikkan kode berikut pada halaman kode PopDataset.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module PopDataset
Sub Main()
Dim connstring As String = ("Data Source=AJENG; Integrated
Security=True; database=northwind")
'create command (with both text and connection)
Dim sql As String = "select productname,unitprice from
products where unitprice < 20"
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)

Try
'Open connection
conn.Open()
Dim cmd As SqlCommand = New SqlCommand(sql, conn)
'create data adapter
Dim da As SqlDataAdapter = New SqlDataAdapter(sql, conn)
'create dataset
Dim ds As DataSet = New DataSet
'fill dataset
da.Fill(ds, "products")
'get data table
Dim dt As DataTable = ds.Tables("products")
'display data
Dim row As DataRow
For Each row In dt.Rows
Dim col As DataColumn
For Each col In dt.Columns
Console.WriteLine(row(col))
Next col
Console.WriteLine("".PadLeft(20, "="c))
Next row
Catch e As Exception
Console.WriteLine("Error Occurred:" & e.ToString)
Finally
' Close connection
conn.Close()
End Try
End Sub
End Module

4. Jalankan PopDataset dengan menekan tombol Ctrl+F5

B. Filtering dan Sorting Data Secara Dinamis dalam Sebuah Dataset


1. Tambahkan projek Visual Basic Console Aplication baru dengan nama
FilterSort pada Chapter13 solution.

2. Ubah nama file Module1.vb menjadi FilterSort.vb

3. Ketikkan kode berikut pada halaman kode FilterSort.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module FilterSort
Sub Main()
Dim connstring As String = ("Data Source=AJENG; Integrated
Security=True; database=northwind")
'query 1
Dim sql1 As String = "select * from customers"
'query 2
Dim sql2 As String = " select * from products where unitprice
< 10"
'combine queries
Dim sql As String = sql1 + sql2
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)
Try
'Open connection
conn.Open()
'create data adapter
Dim da As SqlDataAdapter = New SqlDataAdapter
da.SelectCommand = New SqlCommand(sql, conn)
'create and fill dataset
Dim ds As DataSet = New DataSet
da.Fill(ds, "customers")
' get the data tables collection
Dim dtc As DataTableCollection = ds.Tables
' display data from first data table
'
' display output header
Console.WriteLine("Results from Customers table:")
Console.WriteLine(("CompanyName".PadRight(20) +
"ContactName".PadLeft(23) + ControlChars.Lf))
' set display filter
Dim fl As String = "country = 'Germany'"
' set sort
Dim srt As String = "companyname asc"
' display filtered and sorted data
Dim row As DataRow
For Each row In dtc("customers").Select(fl, srt)
Console.WriteLine("{0}" + ControlChars.Tab + "{1}",
row("CompanyName").ToString(). _
PadRight(25), row("ContactName"))
Next row
' display data from second data table
'
' display output header
Console.WriteLine(ControlChars.Lf + "----------------")
Console.WriteLine("Results from Products table:")
Console.WriteLine(("ProductName".PadRight(20) + _
"UnitPrice".PadLeft(21) + ControlChars.Lf))
' display data

'Dim row As DataRow


For Each row In dtc(1).Rows
Console.WriteLine("{0}" + ControlChars.Tab + "{1}",
row("productname").ToString(). _
PadRight(25), row("unitprice"))
Next row
Catch e As Exception
Console.WriteLine("Error Occurred:" & e.ToString)
Finally
' Close connection
conn.Close()
End Try
End Sub
End Module

4. Jalankan FilterSort dengan menekan tombol Ctrl+F5

C. Refining Data Menggunakan Data View


1. Tambahkan projek Visual Basic Console Aplication baru dengan nama
DataViews pada Chapter13 solution.

2. Ubah nama file Module1.vb menjadi DataViews.vb

3. Ketikkan kode berikut pada halaman kode DataViews.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module DataViews

Sub Main()
Dim connstring As String = ("Data Source=AJENG; Integrated
Security=True; database=northwind")
'query
Dim sql As String = "select contactname,country from customers
"
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)
Try
'create data adapter
Dim da As SqlDataAdapter = New SqlDataAdapter
da.SelectCommand = New SqlCommand(sql, conn)
'create and fill dataset
Dim ds As DataSet = New DataSet
da.Fill(ds, "customers")
' get data table reference
Dim dt As DataTable = ds.Tables("customers")
' create data view
Dim dv As New DataView(dt, "country = 'Germany'",
"country", DataViewRowState.CurrentRows)
' display data from data view
Dim drv As DataRowView
For Each drv In dv
Dim i As Integer
For i = 0 To dv.Table.Columns.Count - 1
Console.Write((drv(i) + ControlChars.Tab))
Next i
Console.WriteLine()
Next drv
Catch e As Exception
Console.WriteLine("Error Occurred:" & e.ToString)
Finally
' Close connection
conn.Close()
End Try
End Sub
End Module

4. Jalankan DataViews dengan menekan tombol Ctrl+F5

D. Memodifikasi Data Table dalam Dataset


1. Tambahkan projek Visual Basic Console Aplication baru dengan nama
ModifyDataTable pada Chapter13 solution.

2. Ubah nama file Module1.vb menjadi ModifyDataTable.vb

3. Ketikkan kode berikut pada halaman kode ModifyDataTable.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module ModifyDataTable
Sub Main()
Dim connstring As String = ("Data Source=AJENG; Integrated
Security=True; database=northwind")
'create command (with both text and connection)
Dim sql As String = "select * from employees where country =
'UK'"
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)
Try
' create data adapter
Dim da As New SqlDataAdapter()
da.SelectCommand = New SqlCommand(sql, conn)
' create and fill dataset
Dim ds As New DataSet()
da.Fill(ds, "employees")
' get data table reference
Dim dt As DataTable = ds.Tables("employees")
' FirstName column should be nullable
dt.Columns("firstname").AllowDBNull = True
' modify city in first row
dt.Rows(0)("city") = "Wilmington"
' add a row
Dim newRow As DataRow = dt.NewRow()
newRow("firstname") = "Roy"

newRow("lastname") = "Beatty"
newRow("titleofcourtesy") = "Sir"
newRow("city") = "Birmingham"
newRow("country") = "UK"
dt.Rows.Add(newRow)
' display rows
Dim row As DataRow
For Each row In dt.Rows
Console.WriteLine("{0} {1} {2}",
row("firstname").ToString().PadRight(15),
row("lastname").ToString().PadLeft(25), row("city"))
Next row
' code for updating the database would come here
Catch e As Exception
Console.WriteLine(("Error: " + e.ToString))
Finally
' close connection
conn.Close()
End Try
End Sub
End Module

4. Jalankan ModifyDataTable dengan menekan tombol Ctrl+F5

E. Menyebarkan Perubahan Dataset ke Data Source


1. Tambahkan projek Visual Basic Console Aplication baru dengan nama
PersistChanges pada Chapter13 solution.

2. Ubah nama file Module1.vb menjadi PersistChanges.vb

3. Ketikkan kode berikut pada halaman kode PersistChanges.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module PersistChanges
Sub Main()
Dim connstring As String = ("Data Source=.\sqlexpress;
Integrated Security=True; database=northwind")
'query
Dim qry As String = "select * from employees where country =
'UK'"
'SQL to update employees
Dim upd As String = "update employees set city = @city where
employeeid = @employeeid"
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)
Try
' create data adapter
Dim da As New SqlDataAdapter()
da.SelectCommand = New SqlCommand(qry, conn)
' create and fill dataset
Dim ds As New DataSet()
da.Fill(ds, "employees")
' get data table reference
Dim dt As DataTable = ds.Tables("employees")
' modify city in first row
dt.Rows(0)("city") = "Wilmington"
' display rows
Dim row As DataRow
For Each row In dt.Rows
Console.WriteLine("{0} {1} {2}", _
row("firstname").ToString().PadRight(15), _
row("lastname").ToString().PadLeft(25),
row("city"))
Next row
' update Employees
'
' create command
Dim cmd As New SqlCommand(upd, conn)
'
' map parameters
'
' City
cmd.Parameters.Add("@city", SqlDbType.NVarChar, 15,
"city")
'
' EmployeeID
Dim parm As SqlParameter = cmd.Parameters.Add _
("@employeeid", SqlDbType.Int, 4, "employeeid")
parm.SourceVersion = DataRowVersion.Original
' Update database
da.UpdateCommand = cmd
da.Update(ds, "employees")
Catch e As Exception
Console.WriteLine(("Error: " + e.ToString))
Finally
' close connection
conn.Close()
End Try
End Sub
End Module

4. Jalankan PersistChanges dengan menekan tombol Ctrl+F5

F. Menyebarkan Baris Dataset Baru ke Data Source 1


1. Tambahkan projek Visual Basic Console Aplication baru dengan nama
PersistAdds pada Chapter13 solution.

2. Ubah nama file Module1.vb menjadi PersistAdds.vb

3. Ketikkan kode berikut pada halaman kode PersistAdds.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module PersistAdds
Sub Main()
Dim connstring As String = ("Data Source=.\sqlexpress;
Integrated Security=True; database=northwind")
'query
Dim qry As String = "select * from employees where country =
'UK'"
'SQL to insert employees
Dim ins As String = "insert into employees " & _
"(firstname,lastname,titleofcourtesy,city,country)" & _
"values(@firstname,@lastname,@titleofcourtesy,@city,@country)"
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)
Try
' create data adapter
Dim da As New SqlDataAdapter()
da.SelectCommand = New SqlCommand(qry, conn)
' create and fill dataset

Dim ds As New DataSet()


da.Fill(ds, "employees")
' get data table reference
Dim dt As DataTable = ds.Tables("employees")
' add a row
Dim newRow As DataRow = dt.NewRow()
newRow("firstname") = "Roy"
newRow("lastname") = "Beatty"
newRow("titleofcourtesy") = "Sir"
newRow("city") = "Birmingham"
newRow("country") = "UK"
dt.Rows.Add(newRow)
' display rows
Dim row As DataRow
For Each row In dt.Rows
Console.WriteLine("{0} {1} {2}", _
row("firstname").ToString().PadRight(15), _
row("lastname").ToString().PadLeft(25), row("city"))
Next row
' insert employees
'
' create command
Dim cmd As New SqlCommand(ins, conn)
'
' map parameters
cmd.Parameters.Add("@firstname", _
SqlDbType.NVarChar, 10, "firstname")
cmd.Parameters.Add("@lastname", _
SqlDbType.NVarChar, 20, "lastname")
cmd.Parameters.Add("@titleofcourtesy", _
SqlDbType.NVarChar, 25, "titleofcourtesy")
cmd.Parameters.Add("@city", _
SqlDbType.NVarChar, 15, "city")
cmd.Parameters.Add("@country", _
SqlDbType.NVarChar, 15, "country")
'
' insert employees
da.InsertCommand = cmd
da.Update(ds, "employees")
Catch e As Exception
Console.WriteLine(("Error: " + e.ToString))
Finally
' close connection
conn.Close()
End Try
End Sub
End Module

4. Jalankan PersistAdds dengan menekan tombol Ctrl+F5

G. Menyebarkan Baris Dataset Baru ke Data Source 2


1. Tambahkan projek Visual Basic Console Aplication baru dengan nama
PersistDeletes pada Chapter13 solution.

2. Ubah nama file Module1.vb menjadi PersistDeletes.vb

3. Ketikkan kode berikut pada halaman kode PersistDeletes.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module PersistDeletes
Sub Main()
Dim connstring As String = ("Data Source=AJENG; Integrated
Security=True; database=northwind")
'query
Dim qry As String = "select * from employees where country =
'UK'"
'SQL to delete employees
Dim del As String = "delete from employees where employeeid =
@employeeid"
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)
Try
'create data adapter
Dim da As SqlDataAdapter = New SqlDataAdapter
da.SelectCommand = New SqlCommand(qry, conn)
'create and fill dataset
Dim ds As DataSet = New DataSet
da.Fill(ds, "employees")
'get data table reference
Dim dt As DataTable = ds.Tables("employees")
'delete employees
'

'create command
Dim cmd As SqlCommand = New SqlCommand(del, conn)
'
'map parameters
cmd.Parameters.Add("@employeeid", SqlDbType.Int, 4,
"employeeid")
'
'select employees
Dim filt As String = "firstname = 'Roy'and lastname =
'Beatty'"
' delete employees
Dim row As DataRow
For Each row In dt.Select(filt) '
row.Delete()
Next row
da.DeleteCommand = cmd
da.Update(ds, "employees")
' display rows
For Each row In dt.Rows
Console.WriteLine("{0} {1} {2}", _
row("firstname").ToString().PadRight(15), _
row("lastname").ToString().PadLeft(25), row("city"))
Next row
Catch e As Exception
Console.WriteLine(("Error: " + e.ToString))
Finally
' close connection
conn.Close()
End Try
End Sub
End Module

4. Jalankan PersistDeletes dengan menekan tombol Ctrl+F5

H. Penggunaan SQLCommandBuilder
1. Tambahkan projek Visual Basic Console Aplication baru dengan nama
PersistAddsBuilder pada Chapter13 solution.

2. Ubah nama file Module1.vb menjadi PersistAddsBuilder.vb

3. Ketikkan kode berikut pada halaman kode PersistAddsBuilder.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module PersistAddsBuilder
Sub Main()
Dim connstring As String = ("Data Source=AJENG; Integrated
Security=True; database=northwind")
'query
Dim qry As String = "select * from employees where country =
'UK'"
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)
Try
' create data adapter
Dim da As New SqlDataAdapter()
da.SelectCommand = New SqlCommand(qry, conn)
'create command builder
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(da)
' create and fill dataset
Dim ds As New DataSet()
da.Fill(ds, "employees")
' get data table reference
Dim dt As DataTable = ds.Tables("employees")
' add a row
Dim newRow As DataRow = dt.NewRow()
newRow("firstname") = "Roy"
newRow("lastname") = "Beatty"
newRow("titleofcourtesy") = "Sir"
newRow("city") = "Birmingham"
newRow("country") = "UK"
dt.Rows.Add(newRow)
' display rows
Dim row As DataRow
For Each row In dt.Rows
Console.WriteLine("{0} {1} {2}", _
row("firstname").ToString().PadRight(15), _
row("lastname").ToString().PadLeft(25), row("city"))
Next row
' insert employees
da.Update(ds, "employees")
Catch e As Exception
Console.WriteLine(("Error: " + e.ToString))
Finally
' close connection
conn.Close()
End Try
End Sub
End Module

4. Jalankan PersistAddsBuilder dengan menekan tombol Ctrl+F5

I. Ekstrak Dataset ke Sebuah XML File


1. Tambahkan projek Visual Basic Console Aplication baru dengan nama
WriteXML pada Chapter13 solution.

2. Ubah nama file Module1.vb menjadi WriteXML.vb

3. Ketikkan kode berikut pada halaman kode WriteXML.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module WriteXML
Sub Main()
Dim connstring As String = ("Data Source=AJENG; Integrated
Security=True; database=northwind")
'create command (with both text and connection)
Dim sql As String = "Select productname,unitprice from
products"
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)
Try
'create data adapter

Dim da As SqlDataAdapter = New SqlDataAdapter


da.SelectCommand = New SqlCommand(sql, conn)
'Open connection
conn.Open()
'create and fill dataset
Dim ds As DataSet = New DataSet
da.Fill(ds, "products")
'extract dataset to XML file
ds.WriteXml("E:\KULIAH\Semester 5\Pemrograman Basis Data
Lanjut\Praktek\VB-Chapter6\Chapter13\WriteXML\productstable.xml")
Console.WriteLine("The XML file is Created")
Catch e As Exception
Console.WriteLine("Error Occurred:" & e.ToString)
Finally
' Close connection
conn.Close()
End Try
End Sub
End Module

4. Jalankan WriteXML dengan menekan tombol Ctrl+F5

J. Mengisi Sebuah Data Table Menggunakan Data Adapter


1. Tambahkan projek Visual Basic Console Aplication baru dengan nama
PopDataTable pada Chapter13 solution.

2. Ubah nama file Module1.vb menjadi PopDataTable.vb

Ketikkan kode berikut pada halaman kode PopDataTable.vb


Imports System
Imports System.Data
Imports System.Data.SqlClient
Module PopDataTable
Sub Main()
Dim connstring As String = ("Data Source=.\sqlexpress;
Integrated Security=True; database=northwind")
'create command (with both text and connection)
Dim sql As String = "select productname,unitprice from
products where unitprice < 20"
'create connection
Dim conn As SqlConnection = New SqlConnection(connstring)
Try
'Open connection
conn.Open()
'create data adapter
Dim da As SqlDataAdapter = New SqlDataAdapter(sql, conn)
'create data table
Dim dt As DataTable = New DataTable
'fill data table
da.Fill(dt)
'display data
Dim row As DataRow
For Each row In dt.Rows
Dim col As DataColumn
For Each col In dt.Columns
Console.WriteLine(row(col))
Next col
Console.WriteLine("".PadLeft(20, "="c))
Next row
Catch e As Exception
Console.WriteLine("Error Occurred:" & e.ToString)
Finally
' Close connection
conn.Close()
End Try
End Sub
End Module

3. Jalankan PopDataTable dengan menekan tombol Ctrl+F5

V.

Lembar Kerja
No
1

Judul / Hasil / Analisa


Mengisi Sebuah Dataset dengan Data Adapters

Method Fill menggunakan sebuah data reader internal untuk mengakses


skema tabel dan data dan kemudian menggunakan keduanya untuk
mempopulasikan dataset. Jika kita tidak menginisialisasikan nama tabel
pada method Fill, maka otomatis akan diisikan tabelN. Jika dataset
ditambahkan tabel lain, maka N akan di-increment. Lebih baik nama tabel
disebutkan secara deksriptif.
2

Filtering dan Sorting Data Secara Dinamis dalam Sebuah Dataset

pada contoh ini, dua buah kueri dikombinasikan menjadi satu. Data diambil
dari table collection dari properti Tables dari dataset untuk mengurangi
referensi selanjutnya.

Perintah :
Dim fl As String = "country = 'Germany'"

adalah ekspresi filtering yang memberikan kriteria pada baris yang


diseleksi. Seperti sintaks WHERE pada SQL.
Perintah :
Dim srt As String = "companyname asc"

menspesifikasi sorting seperti ORDER BY pada SQL.


3

Refining Data Menggunakan Data View

Dalam contoh ini, kita membuat data view dan menginisialisasi dengan
memberi empat parameter ke dalam konstruktornya. Parameter pertama
adalah data tabel, kemudian filter dari konten, sorting, dan spesifikasi tipe
dari baris untuk memasukkan ke dalam data view. Setiap kali baris
ditambahkan, dimodifikasi, atau dihapus, state dari baris berubah menjadi
yang seharusnya.
4

Memodifikasi Data Table dalam Dataset

Berikut ini dicontohkan bagaimana cara mengganti schema information,


dan memodifikasi baris menggunakan teknik seperti yang dicontohkan.
5

Menyebarkan Perubahan Dataset ke Data Source

pada contoh ini ditambahkan kueri dengan nama upd untuk melakukan
statemen UPDATE. Kita menggantikan komentar update pada blok try

dengan sedikit kode. Kemudian mengkonfigurasi parameter @employeeid,


dengan data kolom bernama employeeid. Tidak seperti @city, kita
memastikan @employeeid mendapatkan nilai dari data sebelum ada
perubahan. Dan kita memberikan properti UpdateCommand pada data
adapter untuk mengupdate tabel Employees, lalu SQL akan dieksekusi
ketika kita memanggil method Update.
6

Menyebarkan Baris Dataset Baru ke Data Source 1

Pada contoh ini kita menambahkan statemen INSERT pada string ins. Kita
mengganti komentar update dari blok try dengan sedikit kode. Lalu kita
mengkonfigurasikan parameternya dengan lima nilai, dengan kolom lain
yang nullable sehingga kita tidak perlu memberikannya nilai. Lalu kita
eksekusi dengan memanggil method Update pada data adapter.
7

Menyebarkan Baris Dataset Baru ke Data Source 2

sama seperti dua praktikum sebelumnya, yang membedakan hanya pada


praktikum ini menggunakan statemen delete.
8

Penggunaan SQLCommandBuilder

menggunakan command builder lebih baik daripada koding SQL manual.


Ingat bahwa mereka hanya bekerja pada satu tabel saja dan tabel harus
punya primary key.
9

Ekstrak Dataset ke Sebuah XML File

kita menggantikan console display loop dengan sebuah method yang


dipanggil untuk membuat file XML (ds.WriteXml). kita berikan alamat
penuh untuk file XML pada direktori dari solution kita. Ketika kita tidak
memberikan alamatnya, file akan ditempatkan pada bin\Release dibawah
direktori projek WriteXML.
10

Mengisi Sebuah Data Table Menggunakan Data Adapter

ketika kita membuat dataset, kita membuat data table. Karena data table
hanya bisa menampung satu tabel saja, perhatikan bahwa method Fill tidak
menerima nama data tabel sebagai argumen.

VI.

Kesimpulan
Pada bab ini kita mempelajari materi dasar dari dataset dan data adapter. Sebuah
dataset adalah representasi dari relasi data yang mempunyai koleksi dari data tabel,
dan setiap data tabel mempunyai koleksi data berupa baris dan kolom. Sedangkan
data adapter adalah objek yang mengkontrol bagaimana data dimunculkan ke dalam
dataset atau data tabel dan bagaimana mengubahnya menjadi dataset.
Kita belajar cara untuk mengisi atau mengakses dataset, bagaimana melakukan
filtering dan sorting pada data tabel, dan mengetahui baha operasi disconnected
bukanlah mode default dari dataset.

Anda mungkin juga menyukai