--> Skip to main content
Pelajar Koding

follow us

Vb.Net Mysql: How To Create, Read, Update, Delete (Crud) - Part 2

To support you in understanding this topic, please read also these articles: How to connect VB.NET to MySQL database How to binding MySQL data to DataGridView How to binding MySQL data to ComboBox List I divide this topic into 4 parts. Make sure you have read the previous article. How to Create, Read, Update, Delete (CRUD) - Part 1 Next step, we'll make edit and update data feature. How does users edit data? First, the will pick data row to edit, then double click on its row. Selected data will be displayed in input controls (textboxes). So, we need to write code under grdData_CellMouseDoubleClick event as following: Private Sub grdData_CellMouseDoubleClick( ByVal sender As Object, _     ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) _     Handles grdData.CellMouseDoubleClick     txtCode.Text = grdData.CurrentRow.Cells(0).Value     txtName.Text = grdData.CurrentRow.Cells(1).Value     tbrEdit.Enabled = False     txtCode.ReadOnly = True End Sub Set txtCode.ReadOnly = True, to make txtCode not editable because it contains the primary key. Besides double-clicking on the grid, the user can also edit by selecting row data then clicking the Edit button. So we need similar procedure under the tbrEdit_Click event. But I'm too lazy to retype, our procedures can be reused. The trick is to just call the sub-event as below. Private Sub tbrEdit_Click( ByVal sender As System.Object, _     ByVal e As System.EventArgs) Handles tbrEdit.Click     grdData_CellMouseDoubleClick( Nothing , Nothing ) End Sub Before proceeding with the save procedure, I want to create a handler under tbrCancel_Click event. This works to clean controls and also cancel editing. This event procedure will be called several times while cleaning input controls, refresh data display, and canceling add new/edit process before it's saved. Private Sub tbrCancel_Click( ByVal sender As System.Object, _     ByVal e As System.EventArgs) Handles tbrCancel.Click     txtCode.Text = String .Empty     txtName.Text = String .Empty     tbrEdit.Enabled = True     txtCode.ReadOnly = False     Data_Load() End Sub Code tbrEdit.Enabled = False as a sign that process is adding or editing data. Disabled are for editing. Because we use the same event for saving data added and edited. We already used tbrSave_Click for adding data, the code below has been modified to adjust edit/update process. Highlight text is to show the modification. Private Sub tbrSave_Click( ByVal sender As System.Object, _     ByVal e As System.EventArgs) Handles tbrSave.Click     Dim myCommand As New MySqlCommand     conn = New MySqlConnection()     conn.ConnectionString = "server=localhost;user id=root;" & _                             "password=;database=datapos"     Try         conn.Open()         If tbrEdit.Enabled = True Then             SQL = "INSERT INTO class (classcode, classname) VALUES " & _                   "('" & txtCode.Text & "', '" & txtName.Text & "')"         Else             SQL = "UPDATE class SET classname = '" & txtName.Text & "' " & _                   "WHERE classcode = '" & txtCode.Text & "'"         End If         myCommand.Connection = conn         myCommand.CommandText = SQL         myCommand.ExecuteNonQuery()         If tbrEdit.Enabled = True Then             MsgBox( "Data baru tersimpan" )         Else             MsgBox( "Perubahan tersimpan" )         End If         tbrCancel_Click(Nothing, Nothing)         conn.Close()     Catch myerror As MySqlException         MessageBox.Show( "Error: " & myerror.Message)     Finally         conn.Dispose()     End Try End Sub Let's try to run and edit/update some data.
Sumber http://rani-irsan.blogspot.com

You Might Also Like:

Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar