- Beranda
- Komunitas
- Tech
- Programmer Forum
[ASK] CRUD pada vb.net / vs2010


TS
darusdan
[ASK] CRUD pada vb.net / vs2010
permisi salam kenal buat penghuni forsub programer, saya newbie baru belajar vb.net. saya pake vs 2010
saya buat form inputan terus tampil di datagridview, tentang CRUD (create, update, delete)
mau nanya codingan simpan, kok waktu di tekan tombol simpan malah error kaga kesimpen, ga bisa di close, harus dari task manager closenya jg. menurut agan2 salahnya dimana
oya ane make database MS Accsess 2013
padahal di error list udah kaga ada. cuman waktu di debug ada warning disini
If grid.Rows.Count > 0 Then
While x < grid.Rows.Count
grid.Rows.RemoveAt(x)
End While
End If
ini seluruh codingnya
Imports System.IO
Imports System.Data.OleDb
Public Class FormBalitaSakit
Dim strConn = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|\db_klinik.accdb;Persist Security Info=False;"
Dim con As New OleDbConnection
Dim Tgl As Date
Dim cmd As New OleDbCommand
Dim da As New OleDbDataAdapter
Dim dt As New DataTable
Dim save_tag As String
Sub Fill_Grid(ByVal grid As Windows.Forms.DataGridView)
Dim x As Integer
'# me-refreshes pada datagridview.
'# pada method ini berfungsi ketika mau me-reload datagrid dengan nilai baru setelah memasukan data/item
If grid.Rows.Count > 0 Then
While x < grid.Rows.Count
grid.Rows.RemoveAt(x)
End While
End If
'# mensetting bagaimana datagrid terlihat ketika terisi/ ter-load
'# you may add more properties here if necessary e.g alternating row background colors
With grid
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
.RowHeadersVisible = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
End With
grid.Columns(0).Visible = False
'# Setting and opening a connection to the database via connection string
con.ConnectionString = strConn
con.Open()
'# merepresentasikan SQL pernytataan atau prosedur terhadap datasource/code program
With cmd
.Connection = con
.CommandType = CommandType.Text
.CommandText = "Select * from balita_sakit"
End With
da.SelectCommand = cmd
grid.DataSource = dt
da.Fill(dt)
'#menutup koneksi
con.Dispose()
con.Close()
End Sub
Sub save(ByVal tag As String)
'# sub save, menjalankan perintah untuk menyimpan kedalam database
Dim Tgl As String = DateTimePicker1.Value.ToString("yyyy/MM/dd")
Dim cmdtxt As String = Nothing
If tag = "new" Then
cmdtxt = "Insert into balitasakit([No], [Tanggal], [Nama], [Umur], [JenisKelamin], [Alamat], [Diagnosa], [Obat]" & _
"Values('" & txtno.Text & "','" & txtnama.Text & "','" & cmbumur.Text & "','" & cmbjk.Text & "','" & txtalamat.Text & "','" & txtdiagnosa.Text & "','" & txtket.Text & "') "
'# perintah / instruksi program untuk menyimpan data setelah diubah
ElseIf tag = "edit" Then
cmdtxt = "Update Contacts set " & _
"[No] = '" & txtno.Text & "', [Tanggal] = '" & Tgl & "' , [Nama] ='" & txtnama.Text & "' ,[Umur]='" & cmbumur.Text & "', [JeniskKelamin] ='" & cmbjk.Text & "',[Alamat] ='" & txtalamat.Text & "',[Diagnosa] ='" & txtdiagnosa.Text & "',[Keterangan] ='" & txtket.Text & "' " & _
"Where ID_pasien = " & txtid.Text & ""
End If
Try
'The connection
con.ConnectionString = strConn
con.Open()
'The OLEDB Command
With cmd
.Connection = con
.CommandType = CommandType.Text
.CommandText = cmdtxt
End With
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message, vbCritical)
Finally
con.Dispose()
con.Close()
End Try
End Sub
Sub delete(ByVal id As Integer)
Dim cmdtxt As String = Nothing
cmdtxt = "Delete From balitasakit Where ID_pasien = " & id & ""
Try
'The connection
con.ConnectionString = strConn
con.Open()
'The OLEDB Command
With cmd
.Connection = con
.CommandType = CommandType.Text
.CommandText = cmdtxt
End With
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message, vbCritical)
Finally
con.Dispose()
con.Close()
End Try
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
'# Assign values to to textboxes from selected/higlighted row
'# e.index is the index value of current selected row
'# cell(1) for instance gets the value of the cell(row,column) of the current row selected
txtid.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString
txtno.Text = DataGridView1.Rows(e.RowIndex).Cells(3).Value.ToString
txtnama.Text = DataGridView1.Rows(e.RowIndex).Cells(2).Value.ToString
cmbumur.Text = DataGridView1.Rows(e.RowIndex).Cells(4).Value.ToString
cmbjk.Text = DataGridView1.Rows(e.RowIndex).Cells(1).Value.ToString
txtalamat.Text = DataGridView1.Rows(e.RowIndex).Cells(5).Value.ToString
txtdiagnosa.Text = DataGridView1.Rows(e.RowIndex).Cells(6).Value.ToString
txtobat.Text = DataGridView1.Rows(e.RowIndex).Cells(7).Value.ToString
txtket.Text = DataGridView1.Rows(e.RowIndex).Cells(8).Value.ToString
save_tag = "edit"
End Sub
Private Sub btntambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btntambah.Click
'# sets all textboxes empty
txtno.Text = String.Empty
txtnama.Text = String.Empty
txtalamat.Text = String.Empty
txtdiagnosa.Text = String.Empty
txtobat.Text = String.Empty
txtket.Text = String.Empty
txtno.Focus()
save_tag = "new"
End Sub
Private Sub btnsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsimpan.Click
'# calling the save() function
save(save_tag)
btnsimpan.PerformClick()
Fill_Grid(DataGridView1)
MsgBox("Data berhasil disimpan ! ", MsgBoxStyle.Information)
End Sub
Private Sub FormBalitaSakit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' perintah untuk tambah, mengisi datagridview
save_tag = "new"
Fill_Grid(DataGridView1)
End Sub
Private Sub btnubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnubah.Click
btnubah.PerformClick()
End Sub
Private Sub btnhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapus.Click
'perintah pada button hapus untuk menghapus data dalam tabel gridview
Dim id As Integer
id = txtid.Text
delete(id)
btnhapus.PerformClick()
Fill_Grid(DataGridView1)
MessageBox.Show(" Data berhasil dihapus !")
End Sub
Private Sub btnbatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbatal.Click
Me.Close()
End Sub
End Class
sekian mohon saran masukan dan bantuan dan pencerahannya
Terimakasih yang sebesar2nya buat gan2 sekalian
saya buat form inputan terus tampil di datagridview, tentang CRUD (create, update, delete)
mau nanya codingan simpan, kok waktu di tekan tombol simpan malah error kaga kesimpen, ga bisa di close, harus dari task manager closenya jg. menurut agan2 salahnya dimana
oya ane make database MS Accsess 2013
padahal di error list udah kaga ada. cuman waktu di debug ada warning disini
Spoiler for warning:
If grid.Rows.Count > 0 Then
While x < grid.Rows.Count
grid.Rows.RemoveAt(x)
End While
End If
ini seluruh codingnya
Spoiler for code program:
Imports System.IO
Imports System.Data.OleDb
Public Class FormBalitaSakit
Dim strConn = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|\db_klinik.accdb;Persist Security Info=False;"
Dim con As New OleDbConnection
Dim Tgl As Date
Dim cmd As New OleDbCommand
Dim da As New OleDbDataAdapter
Dim dt As New DataTable
Dim save_tag As String
Sub Fill_Grid(ByVal grid As Windows.Forms.DataGridView)
Dim x As Integer
'# me-refreshes pada datagridview.
'# pada method ini berfungsi ketika mau me-reload datagrid dengan nilai baru setelah memasukan data/item
If grid.Rows.Count > 0 Then
While x < grid.Rows.Count
grid.Rows.RemoveAt(x)
End While
End If
'# mensetting bagaimana datagrid terlihat ketika terisi/ ter-load
'# you may add more properties here if necessary e.g alternating row background colors
With grid
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
.RowHeadersVisible = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
End With
grid.Columns(0).Visible = False
'# Setting and opening a connection to the database via connection string
con.ConnectionString = strConn
con.Open()
'# merepresentasikan SQL pernytataan atau prosedur terhadap datasource/code program
With cmd
.Connection = con
.CommandType = CommandType.Text
.CommandText = "Select * from balita_sakit"
End With
da.SelectCommand = cmd
grid.DataSource = dt
da.Fill(dt)
'#menutup koneksi
con.Dispose()
con.Close()
End Sub
Sub save(ByVal tag As String)
'# sub save, menjalankan perintah untuk menyimpan kedalam database
Dim Tgl As String = DateTimePicker1.Value.ToString("yyyy/MM/dd")
Dim cmdtxt As String = Nothing
If tag = "new" Then
cmdtxt = "Insert into balitasakit([No], [Tanggal], [Nama], [Umur], [JenisKelamin], [Alamat], [Diagnosa], [Obat]" & _
"Values('" & txtno.Text & "','" & txtnama.Text & "','" & cmbumur.Text & "','" & cmbjk.Text & "','" & txtalamat.Text & "','" & txtdiagnosa.Text & "','" & txtket.Text & "') "
'# perintah / instruksi program untuk menyimpan data setelah diubah
ElseIf tag = "edit" Then
cmdtxt = "Update Contacts set " & _
"[No] = '" & txtno.Text & "', [Tanggal] = '" & Tgl & "' , [Nama] ='" & txtnama.Text & "' ,[Umur]='" & cmbumur.Text & "', [JeniskKelamin] ='" & cmbjk.Text & "',[Alamat] ='" & txtalamat.Text & "',[Diagnosa] ='" & txtdiagnosa.Text & "',[Keterangan] ='" & txtket.Text & "' " & _
"Where ID_pasien = " & txtid.Text & ""
End If
Try
'The connection
con.ConnectionString = strConn
con.Open()
'The OLEDB Command
With cmd
.Connection = con
.CommandType = CommandType.Text
.CommandText = cmdtxt
End With
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message, vbCritical)
Finally
con.Dispose()
con.Close()
End Try
End Sub
Sub delete(ByVal id As Integer)
Dim cmdtxt As String = Nothing
cmdtxt = "Delete From balitasakit Where ID_pasien = " & id & ""
Try
'The connection
con.ConnectionString = strConn
con.Open()
'The OLEDB Command
With cmd
.Connection = con
.CommandType = CommandType.Text
.CommandText = cmdtxt
End With
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message, vbCritical)
Finally
con.Dispose()
con.Close()
End Try
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
'# Assign values to to textboxes from selected/higlighted row
'# e.index is the index value of current selected row
'# cell(1) for instance gets the value of the cell(row,column) of the current row selected
txtid.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString
txtno.Text = DataGridView1.Rows(e.RowIndex).Cells(3).Value.ToString
txtnama.Text = DataGridView1.Rows(e.RowIndex).Cells(2).Value.ToString
cmbumur.Text = DataGridView1.Rows(e.RowIndex).Cells(4).Value.ToString
cmbjk.Text = DataGridView1.Rows(e.RowIndex).Cells(1).Value.ToString
txtalamat.Text = DataGridView1.Rows(e.RowIndex).Cells(5).Value.ToString
txtdiagnosa.Text = DataGridView1.Rows(e.RowIndex).Cells(6).Value.ToString
txtobat.Text = DataGridView1.Rows(e.RowIndex).Cells(7).Value.ToString
txtket.Text = DataGridView1.Rows(e.RowIndex).Cells(8).Value.ToString
save_tag = "edit"
End Sub
Private Sub btntambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btntambah.Click
'# sets all textboxes empty
txtno.Text = String.Empty
txtnama.Text = String.Empty
txtalamat.Text = String.Empty
txtdiagnosa.Text = String.Empty
txtobat.Text = String.Empty
txtket.Text = String.Empty
txtno.Focus()
save_tag = "new"
End Sub
Private Sub btnsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsimpan.Click
'# calling the save() function
save(save_tag)
btnsimpan.PerformClick()
Fill_Grid(DataGridView1)
MsgBox("Data berhasil disimpan ! ", MsgBoxStyle.Information)
End Sub
Private Sub FormBalitaSakit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' perintah untuk tambah, mengisi datagridview
save_tag = "new"
Fill_Grid(DataGridView1)
End Sub
Private Sub btnubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnubah.Click
btnubah.PerformClick()
End Sub
Private Sub btnhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapus.Click
'perintah pada button hapus untuk menghapus data dalam tabel gridview
Dim id As Integer
id = txtid.Text
delete(id)
btnhapus.PerformClick()
Fill_Grid(DataGridView1)
MessageBox.Show(" Data berhasil dihapus !")
End Sub
Private Sub btnbatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbatal.Click
Me.Close()
End Sub
End Class
sekian mohon saran masukan dan bantuan dan pencerahannya
Terimakasih yang sebesar2nya buat gan2 sekalian


nona212 memberi reputasi
1
596
Kutip
0
Balasan


Komentar yang asik ya


Komentar yang asik ya
Komunitas Pilihan