|
Metode dan Algoritma | Coding Database OLEDB di VB.NET . Anda bisa melakukan konsultasi tentang Coding Database OLEDB di VB.NET melalui form di samping kanan !!!
Teknologi OLEDB dapat digunakan untuk membuat program database menggunakan Microsoft Access, SQL Server, dan Oracle. Untuk membuat program database dengan Microsoft Access menggunakan OLEDB dengan kode program ikuti langkah-langkah berikut :
1. Buka Microsoft Visual Studio 2008, pilih File-New Project, pilih Project Types : Visual Basic dan Templates : Windows Application. Klik OK.
2. Pada Form1 dari Toolbox control DataGridView, TextBox, Label dan Button, seperti tampak pada tampilan berikut :
3. Tampilkan kode program Form1.vb milik Form1. Pada bagian imports paling atas tambahkan reference-reference yang akan dipakai, yaitu : System.Data.Odbc dan System.IO.
Imports System.IO
4. Kemudian di bawahnya pada deklarasi variabel dan objek global milik Class Form1 tambahkan kode program berikut ini :
Public Class Form1
Public cn As OdbcConnection
Public ds As DataSet
Public tb As DataTable
Public WithEvents bs As BindingSource
Declare Function ShellExecuteA Lib "shell32.dll" ( _
ByVal hWnd As IntPtr, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Integer) As IntPtr
5. Klik dua kali pada Form1 kemudian pada Private Sub Form1_Load tambahkan kode program berikut :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
cn = New OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Path.GetDirectoryName(Application.ExecutablePath) & "\data.mdb")
cn.Open()
Dim cm As New OdbcCommand("SELECT name, address, phone FROM contacts", cn)
Dim rd As OdbcDataReader
rd = cm.ExecuteReader()
ds = New DataSet
tb = New DataTable
tb.TableName = "contacts"
ds.Tables.Add(tb)
ds.Load(rd, LoadOption.Upsert, tb)
For i = 0 To (tb.Columns.Count - 1)
If (tb.Columns(i).DataType.ToString = "System.String") Then tb.Columns(i).MaxLength = 255
Next
rd.Close()
cn.Close()
bs = New BindingSource()
bs.DataSource = ds
bs.DataMember = "contacts"
DataGridView1.DataSource = bs
End Sub
- Untuk event-event yang lain, program selengkapnya sebagai berikut :
Imports System.Data.OleDb
Imports System.IO
Public Class FAccessOLEDB
Public cn As OleDbConnection
Public ds As DataSet
Public tb As DataTable
Public WithEvents bs As BindingSource
Private Sub FAccessOLEDB_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
'cn = New OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Persist Security Info=True;User ID=sa;Initial Catalog=world;Password=")
'cn = New OleDbConnection("Provider=MSDAORA;Data Source=localhost.world;Persist Security Info=True;User ID=admin;Password=")
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path.GetDirectoryName(Application.ExecutablePath) & "\world.mdb")
cn.Open()
Dim cm As New OleDbCommand("SELECT name, address, phone FROM contacts", cn)
Dim rd As OleDbDataReader
rd = cm.ExecuteReader()
ds = New DataSet
tb = New DataTable
tb.TableName = "contacts"
ds.Tables.Add(tb)
ds.Load(rd, LoadOption.Upsert, tb)
For i = 0 To (tb.Columns.Count - 1)
tb.Columns(i).MaxLength = -1
Next
rd.Close()
cn.Close()
bs = New BindingSource()
bs.DataSource = ds
bs.DataMember = "contacts"
gContacts.DataSource = bs
End Sub
Private Sub bs_CurrentChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles bs.CurrentChanged
If ((bs.Count > 0) And (bs.DataMember = "contacts")) Then
tName.Text = bs.Item(bs.Position)("name").ToString
tAddress.Text = bs.Item(bs.Position)("address").ToString
tPhone.Text = bs.Item(bs.Position)("phone").ToString
End If
End Sub
Private Sub bFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bFirst.Click
bs.Position = 0
End Sub
Private Sub bPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bPrev.Click
bs.Position = bs.Position - 1
End Sub
Private Sub bNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bNext.Click
bs.Position = bs.Position + 1
End Sub
Private Sub bLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bLast.Click
bs.Position = bs.Count - 1
End Sub
Private Sub bAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bAdd.Click
bs.AddNew()
End Sub
Private Sub bEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bEdit.Click
'
End Sub
Private Sub bSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bSave.Click
Dim cm As New OleDbCommand
cn.Open()
If bs.Item(bs.Position)("name").ToString() = "" Then
cm.Dispose()
cm = New OleDbCommand("INSERT INTO contacts (name, address, phone) VALUES (?, ?, ?)", cn)
Else
cm.Dispose()
cm = New OleDbCommand("UPDATE contacts SET name = ?, address = ?, phone = ? WHERE name = ?", cn)
End If
cm.Parameters.Add("@name", OleDbType.VarChar, 0, "").Value = tName.Text
cm.Parameters.Add("@address", OleDbType.VarChar, 0, "").Value = tAddress.Text
cm.Parameters.Add("@phone", OleDbType.VarChar, 0, "").Value = tPhone.Text
If bs.Item(bs.Position)("name").ToString() <> "" Then
cm.Parameters.Add("@Original_name", OleDbType.VarChar, 0, "").Value = bs.Item(bs.Position)("name").ToString
End If
cm.ExecuteNonQuery()
cn.Close()
bs.Item(bs.Position)("name") = tName.Text
bs.Item(bs.Position)("address") = tAddress.Text
bs.Item(bs.Position)("phone") = tPhone.Text
bs.EndEdit()
End Sub
Private Sub bCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bCancel.Click
bs.CancelEdit()
End Sub
Private Sub bDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bDelete.Click
cn.Open()
Dim cm As New OleDbCommand("DELETE FROM contacts WHERE name = ?", cn)
cm.Parameters.Add("@Original_name", OleDbType.VarChar, 0, "").Value = bs.Item(bs.Position)("name").ToString
cm.ExecuteNonQuery()
cn.Close()
bs.RemoveAt(bs.Position)
End Sub
Private Sub bRefresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bRefresh.Click
Dim i As Integer
gContacts.DataSource = Nothing
bs.DataSource = Nothing
ds.Dispose()
tb.Dispose()
cn.Open()
Dim cm As New OleDbCommand("SELECT name, address, phone FROM contacts WHERE name LIKE '%" & tFind.Text.Trim & "%'", cn)
Dim rd As OleDbDataReader
rd = cm.ExecuteReader()
ds = New DataSet
tb = New DataTable
tb.TableName = "contacts"
ds.Tables.Add(tb)
ds.Load(rd, LoadOption.Upsert, tb)
For i = 0 To (tb.Columns.Count - 1)
tb.Columns(i).MaxLength = -1
Next
rd.Close()
cn.Close()
bs = New BindingSource()
bs.DataSource = ds
bs.DataMember = "contacts"
gContacts.DataSource = bs
End Sub
End Class
Jika Server Database yang digunakan adalah SQL Server, maka ConnectionString-nya harus diubah menjadi seperti di bawah ini :
cn = New OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Persist Security Info=True;User ID=sa;Initial Catalog=world;Password=")
Jika Server Database yang digunakan adalah SQL Server, maka ConnectionString-nya harus diubah menjadi seperti di bawah ini :
cn = New OleDbConnection("Provider=MSDAORA;Data Source=localhost.world;Persist Security Info=True;User ID=admin;Password=")

Related Post :

Judul: Coding Database OLEDB di VB.NET
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2
Anda sedang membaca artikel tentang
Coding Database OLEDB di VB.NET, Semoga artikel tentang Coding Database OLEDB di VB.NET ini sangat bermanfaat bagi teman-teman semua, jangan lupa untuk mengunjungi lagi melalui link
Coding Database OLEDB di VB.NET.
{ 0 komentar... Views All / Send Comment! }
Posting Komentar