简体   繁体   中英

VB.NET - Insert Date Into Mysql Database Error

i'm trying to insert date(only) from dateTimePicker to mysql database, but error happen

在此处输入图片说明

the format i use

DateTimePicker1.Value.Date.ToString("yyyy/MM/dd")

in my mysql database, i use DATE data type

when i try to display date in vb it show

在此处输入图片说明

the date format displaying correctly, yyyy/MM/dd but still, i can't insert it to my database.

EDIT: my code to insert into database

 Dim namaBarang, satuan, sql As String
        Dim idtoko = formStok.pIdToko
        Dim tglTransaksi = DateTimePicker1.Value.Date.ToString("yyyy/MM/dd")
        Dim qty, idBarang As Integer
        Dim noTrans = Label2.Text
        strcon.Open()
        For x As Integer = 0 To dataListTransaksi.Rows.Count - 1 Step 1
            namaBarang = dataListTransaksi.Rows(x).Cells(2).Value.ToString
            idBarang = dataListTransaksi.Rows(x).Cells(1).Value.ToString
            satuan = dataListTransaksi.Rows(x).Cells(3).Value.ToString
            qty = dataListTransaksi.Rows(x).Cells(4).Value.ToString

            sql = "BEGIN;
                    INSERT
            INTO
                    `tbl_transaksi`(
                    `tbl_transaksi`.`no_transaksi`,
                    `tbl_transaksi`.`tgl_transaksi`,
                    `tbl_transaksi`.`id_toko`
                    )
                VALUES(" & noTrans & ", " & tglTransaksi & ", " & idtoko & ");
                INSERT
            INTO
                    `tbl_transaksi_detail`(
                    `tbl_transaksi_detail`.`no_transaksi`,
                    `tbl_transaksi_detail`.`id_barang`,
                    `tbl_transaksi_detail`.`qty`,
                    `tbl_transaksi_detail`.`unit`
                    )
                VALUES(" & noTrans & ", " & idBarang & ", " & qty & ", '" & satuan & "');
                COMMIT;"

            Try

                'HOLDS THE DATA TO BE EXECUTED
                With cmd
                    .Connection = strcon
                    .CommandText = sql
                    'EXECUTE THE DATA
                    result = cmd.ExecuteNonQuery
                    'CHECKING IF THE DATA HAS EXECUTED OR NOT AND THEN THE POP UP MESSAGE WILL APPEAR
                    If result = 0 Then
                        MsgBox("FAILED TO SAVE THE DATA", MsgBoxStyle.Information)
                    Else
                        MsgBox("DATA HAS BEEN SAVE IN THE DATABASE")
                    End If
                End With
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

        Next
        strcon.Close()

i forgot to add single quote's around date value

sql = "BEGIN;
                    INSERT
            INTO
                    `tbl_transaksi`(
                    `tbl_transaksi`.`no_transaksi`,
                    `tbl_transaksi`.`tgl_transaksi`,
                    `tbl_transaksi`.`id_toko`
                    )
                VALUES(" & noTrans & ", " & tglTransaksi & "<<==THE PROBLEM IS HERE, " & idtoko & ");
                INSERT
            INTO
                    `tbl_transaksi_detail`(
                    `tbl_transaksi_detail`.`no_transaksi`,
                    `tbl_transaksi_detail`.`id_barang`,
                    `tbl_transaksi_detail`.`qty`,
                    `tbl_transaksi_detail`.`unit`
                    )
                VALUES(" & noTrans & ", " & idBarang & ", " & qty & ", '" & satuan & "');
                COMMIT;"

so i change it

VALUES(" & noTrans & ", '" & tglTransaksi & "', " & idtoko & ");

solved!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM