嘿,我对我的datagridview发生了什么感到困惑。
所以我目前正在使用“购买表”。
我将用户输入数据直接输入到表中。问题是验证。首先尝试,我发誓,我做到了。
它逐一检查了我的所有细胞,列。说明了错误消息以及名称,价格等等。他们是空的。然后是下一行。
但是现在,当我输入ID并填写姓名时,我总是得到一个错误," ID为空"。
是因为系统直接检查并移动到下一行并跳过其余行?
任何人都可以提供帮助吗?
当我尝试在函数cekInput()上更改行变量时,全部为0 dgv.Item(0,0).Value,dgv.Item(1,0).Value,etc.etc
它正在工作,但只有一行。我希望系统检查下一行
Function cekInput() As Byte
Dim row = dgv.RowCount - 1
If dgv.Item(0, row).Value Is Nothing Then
cekInput = 1
ElseIf dgv.Item(1, row).Value Is Nothing Then
cekInput = 2
ElseIf dgv.Item(2, row).Value Is Nothing Then
cekInput = 3
ElseIf dgv.Item(3, row).Value Is Nothing Then
cekInput = 4
ElseIf dgv.Item(5, row).Value Is Nothing Then
cekInput = 5
Else
cekInput = 0
End If
End Function
我没有数据库问题..这就是为什么系统跳过我的验证?
Sub InsertPurchases()
Dim cek As Byte = cekInput()
Select Case cek
Case 0
Try
Dim sql = "INSERT INTO pembelian (no_pmb,tgl_pmb,nm_supplier) VALUES ('" & NoPmb.Text & "','" & Format(Now, "dd/MM/yyyy") & "','');"
cmd = New MySqlCommand(sql, conn)
cmd.ExecuteNonQuery()
For i = 0 To dgv.RowCount - 2
sql = "INSERT INTO detail_pmb (no_pmb,id_brg,nm_brg,harga_brg,qty_disc,total,qty_brg,sub_total) VALUES ('" & _
NoPmb.Text & "','" & dgv.Item(0, i).Value & "','" & dgv.Item(1, i).Value & "','" & dgv.Item(2, i).Value & "','" & dgv.Item(3, i).Value & "','" & dgv.Item(4, i).Value & "','" & dgv.Item(5, i).Value & "','" & dgv.Item(6, i).Value & "');"
cmd = New MySqlCommand(sql, conn)
cmd.ExecuteNonQuery()
Next
MsgBox("Data Pembelian Berhasil Dicatat", vbInformation, "Pesan")
clr()
dgv.Rows.Clear()
Catch ex As Exception
MsgBox("Data Pembelian Gagal Dicatat", vbCritical, "Error")
Finally
'conn.Close()
AutoNoNota()
End Try
InactvItem(True)
Case 1
MsgBox("Kode Barang Harus Di-Isi", vbCritical, "Pesan")
Case 2
MsgBox("Nama Barang Harus Di-Isi", vbCritical, "Pesan")
Case 3
MsgBox("Harga Barang Harus Di-Isi", vbCritical, "Pesan")
Case 4
MsgBox("Jumlah Disc Harus Di-Isi", vbCritical, "Pesan")
Case 5
MsgBox("Jumlah Barang Harus Di-Isi", vbCritical, "Pesan")
End Select
End Sub