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 :)

avatar djtyranix
@djtyranix

1 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

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

avatar keccikun
@keccikun

364 Kontribusi 196 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban