VB.NET - 插入日期到MySQL数据库错误
问题描述:
我试图插入日期(只)从dateTimePicker的MySQL数据库,但错误发生VB.NET - 插入日期到MySQL数据库错误
格式我使用
DateTimePicker1.Value.Date.ToString("yyyy/MM/dd")
在我的MySQL数据库,我使用DATE
数据类型
当我尝试显示在VB日期显示它
日期格式正确显示,yyyy/MM/dd
不过,我仍然不能将其插入到我的数据库。
编辑: 我的代码插入到数据库
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()
答
我忘了加单引号的周围日期值
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;"
,所以我改变它
解决了!
也许如果你显示你的插入查询有人可以帮助你吗? –
我认为你的插入语句不知道你正在输入一个字符串..也许你正在做类似(2017/04/03)而不是('2017/04/03'),因为发生的事情是2017年除以4除以3 =值 –
@AFriend我添加了一些代码来质疑。 – reynd