Postingan lainnya
Pemasukan data ke database MS Access dengan VB.Net
Setelah sekian lama mencoba, saya sudah berhasil mengkoneksikan database dengan VB.Net. Saya sedang mencoba untuk menambah data kedalam Access. Sebelum pakai kode SQL, saya pakai connection string yang otomatis dibuat oleh VS 2017nya yang dimana setau saya, databasenya gabisa dipindah tempat. Oleh karena alasan itu, saya coba pakai kode SQL 'UPDATE'. Inti dari program ini, ketika program tertutup, waktu yang sudah dari tadi berjalan, stringnya akan dimasukkan ke dalam database "Login_Info.accdb" tabel "users" kolom "timespent". Tapi, yang menjadi masalah adalah database tidak terupdate padahal tidak ada error.
Ini adalah kodenya :
Imports System.Data.OleDb
Public Class Main_Window
Public waktu As String
Public dataDirectory As String = String.Format("{0}\", Environment.CurrentDirectory)
Private stopwatch As New Stopwatch
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Dim elapsed As TimeSpan = Me.stopwatch.Elapsed
TxtWaktu.Text = String.Format("{0:00}:{1:00}:{2:00}:{3:00}",
Math.Floor(elapsed.TotalHours),
elapsed.Minutes, elapsed.Seconds,
elapsed.Milliseconds)
End Sub
Private Sub LogOutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LogOutToolStripMenuItem.Click
If MsgBox("Yakin ingin log out?", MsgBoxStyle.OkCancel, "Konfirmasi Log Out") = MsgBoxResult.Ok Then
Timer1.Stop()
Me.stopwatch.Stop()
waktu = TxtWaktu.Text
Try
Dim connString As String
connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dataDirectory & "Login_Info.accdb"
Dim sqlconn As New OleDb.OleDbConnection(connString)
sqlconn.Open()
Dim sqlquery As New OleDb.OleDbCommand("UPDATE users SET [timespent] = '" & waktu & "' WHERE [username] = '" & Login_Int.user & "';", sqlconn)
sqlquery.ExecuteNonQuery()
sqlconn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
MsgBox("Berhasil log out!" & Environment.NewLine & "Waktu yang dihabiskan : " & waktu, MsgBoxStyle.Information, "Berhasil!")
Me.Close()
End If
End Sub
Mohon bantuannya. Terima kasih :)
1 Jawaban:
1. Apakah connection nya sudah berjalan atau sukses? Cek console pada bagian ini
Dim sqlconn As New OleDb.OleDbConnection(connString)
sqlconn.Open()
2. Apakah Query nya sudah benar? Cek console pada bagian ini
Dim sqlquery As New OleDb.OleDbCommand("UPDATE users SET [timespent] = '" & waktu & "' WHERE [username] = '" & Login_Int.user & "';", sqlconn)
3. Apakah saat execute Query sudah berjalan? Cek console pada bagian ini
sqlquery.ExecuteNonQuery()
Jika semua sudah benar, coba manual update di database (lalu samakan querynya) Jika masih gagal, coba pakai query yg lainnya. Jika masih gagal, cek ke connectionnya, diganti dengan yg lainnya