Salam,
Saya mau tanya ke semua master-master Vb semuanya,untuk mempermudah
pemakaian dan agar tidak perlu menulis ulang kode,saya membuat class
koneksi ke database baik ke Access maupun ke SQLServer,untuk koneksi
ke SQLServer tidak ada masalah,yang menjadi masalah adalah ketika
menggunakan class KOneksi ke access,yang menjadi masalah adalah ketika
diupdate,dan dengan menggunakan method hapus record,terdapat tulisan
error: Concurrency Violation:The DeleteCommand Affected 0
Records,kenapa yah mohon pencerahan ke semua master disini,thx
Code yang saya tulis sbb:
'Ini adalah code Class KoneksiDataAccess dengan nama
'namespace ClassKoneksiDatabase
Imports System.Data
Imports System.Data.OleDb
Public Class KoneksiDataAccess
Private adapter As New OleDbDataAdapter()
Private datacombuilder As New OleDbCommandBuilder()
Private data As New DataSet()
Private path As String
Private query As String
Private databasename As String
Public ReadOnly Property adapterAccess() As OleDbDataAdapter
Get
Return adapter
End Get
End Property
Public Property pathFile() As String
Get
Return path
End Get
Set(ByVal Value As String)
path = Value
End Set
End Property
Public Property querySQL() As String
Get
Return query
End Get
Set(ByVal Value As String)
query = Value
End Set
End Property
Public Property namadatabase() As String
Get
Return databasename
End Get
Set(ByVal Value As String)
databasename = Value
End Set
End Property
Public Overloads Function Sambung() As DataSet
Try
adapter = New
OleDbDataAdapter(query,"Provider=Microsoft.Jet.OleDb.4.0;Data Source="
& path & databasename)
adapter.Fill(data)
Return data
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Function
Public Overloads Function sambung(ByVal QuerySql As String, ByVal
databasenameAccess As String, ByVal pathFileAccess As String, ByVal
adapterAccessValue As OleDbDataAdapter,ByVal dataset As DataSet)
Try
adapterAccessValue = New OleDbDataAdapter(QuerySql,
"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" &
pathFileAccess & databasenameAccess)
adapterAccessValue.Fill(dataset)
adapter=adapterAccessValue
data=dataset
path=pathfileaccess
query=querysql
databasename=databasenameaccess
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Function
Public Sub Update(ByVal datasetaccess As DataSet)
Try
Dim builder As New OleDbCommandBuilder(adapter)
adapter.Update(datasetaccess)
MsgBox("Update Database Berhasil")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Overloads Sub Hapus(ByVal posisi As Integer, ByVal
datasetaccess As DataSet)
Try
If MsgBox("Anda Yakin Mau Menghapus Record Ke-" & posisi &
",Secara permanen?", MsgBoxStyle.Information +
vbOKCancel, "Hapus Permanen") = MsgBoxResult.OK Then
datasetaccess.Tables(0).Rows(posisi).Delete()
Call Update(datasetaccess)
MsgBox("Record ke - " & posisi & " Sudah Dihapus
Permanen")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class
'Ini adalah code yang mereferensikan Kedua Class Diatas
Imports System.Data
Imports System.Data.OleDb
Imports ClassKoneksiDatabase
Public Class Form1
Inherits System.Windows.Forms.Form
Private objkoneksi As New ClassKoneksiDatabase.KoneksiDataAccess()
Private adp As New OleDbDataAdapter()
Private dataset As New dataset()
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
With objkoneksi
.pathFile = "c:\"
.namadatabase = "kk013421.mdb"
.querySQL = "SELECT * FROM KK013421"
End With
dataset = objkoneksi.Sambung()
dg.DataSource = dataset.Tables(0)
End Sub
Private Sub Hapus_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
objkoneksi.Hapus(Me.BindingContext(dataset.Tables(0)).Position, dataset)
End Sub
End Class
Wahana Programmer Groups Links
<*> Untuk mengunjungi sponsor milis ini, klik link berikut:
http://wahanaprogrammer.net
<*> Untuk menghubungi owner milis ini, kirim email ke:
[EMAIL PROTECTED]
<*> Konsultasi pemrogramman bisa chat disini:
Yahoo! Messenger: wahanaprogrammer
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/Programmer-VB/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/