โค๊ดการบันทึกของผมครับ มันทำงานได้ แต่ว่า มันมีขีดเส้นใต้ตรงคำว่า sqlcommand อ่าครับ
พอเลื่อนเม้าส์ไปที่ขีดเส้นใต้ มันมีข้อความขึ้นว่า
" Variable 'sqlcommand' is used before it has been assigned a value. A null reference exception could result at runtime.
ผมไม่เข้าใจว่ามันหมายถึงอะไร รบกวนท่านผู้รู้ทุกท่าน ช่วยบอกหน่อยนะครับ ว่าเกิดจากอะไร
Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
Dim sqlcmd As SqlCommand
Dim sqlcommand As String
Dim ds As DataSet = New DataSet
If cbsellid.Text = "กรุณาเลือก" Then
MessageBox.Show("คุณกรอกข้อมูลไม่ครบ กรุณากรอกใหม่ด้วย", "คำเตือน", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
cbsellid.Focus()
Exit Sub
End If
If cbstatuspayment.Text = "กรุณาเลือก" Then
MessageBox.Show("คุณกรอกข้อมูลไม่ครบ กรุณากรอกใหม่ด้วย", "คำเตือน", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
cbstatuspayment.Focus()
Exit Sub
End If
If MessageBox.Show("ต้องการบันทึกข้อมูลใช่หรือไม่", "คำเตือน", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
If txtstat.Text = "ค้างชำระ" And cbstatuspayment.Text = "ชำระครบ" Then
sqlcommand = "Update Sell set "
If cbstatuspayment.Text = "ชำระครบ" Then
sqlcommand &= "Pay_status = '2',"
sqlcommand &= "Label_status = '0',"
End If
sqlcommand &= "Outstandingbalance = '" & txtoutprice.Text & "',"
sqlcommand &= "Payment_fDate = '" & dtp_fpay_date.Value.Month & "/" & dtp_fpay_date.Value.Day & "/" & dtp_fpay_date.Value.Year & "',"
sqlcommand &= "Payment_first = '" & txtfirstpay.Text & "'"
sqlcommand &= "where Sell_id = '" & cbsellid.Text & "'"
sqlcommand &= "update Sell set Status = '2'where Sell_id = '" & cbsellid.Text & "'"
ElseIf txtstat.Text = "ค้างชำระ" And cbstatuspayment.Text = "ชำระแบบมัดจำ" Then
sqlcommand = "Update Sell set "
If cbstatuspayment.Text = "ชำระแบบมัดจำ" Then
sqlcommand &= "Pay_status = '1',"
sqlcommand &= "Label_status = '0',"
End If
sqlcommand &= "Outstandingbalance = '" & txtoutprice.Text & "',"
sqlcommand &= "Payment_fDate = '" & dtp_fpay_date.Value.Month & "/" & dtp_fpay_date.Value.Day & "/" & dtp_fpay_date.Value.Year & "',"
sqlcommand &= "Payment_first = '" & txtfirstpay.Text & "',"
sqlcommand &= "Schedule_sPay = '" & dtp_sch_date.Value.Month & "/" & dtp_sch_date.Value.Day & "/" & dtp_sch_date.Value.Year & "'"
sqlcommand &= "where Sell_id = '" & cbsellid.Text & "'"
ElseIf txtstat.Text = "ชำระแบบมัดจำ" And cbstatuspayment.Text = "ชำระครบ" Then
sqlcommand = "Update Sell set "
If cbstatuspayment.Text = "ชำระแบบมัดจำ" Then
sqlcommand &= "Pay_status = '2',"
txtlabelstat.Clear()
End If
sqlcommand &= "Outstandingbalance = '" & txtoutprice.Text & "',"
sqlcommand &= "Payment_sDate = '" & dtp_spay_date.Value.Month & "/" & dtp_spay_date.Value.Day & "/" & dtp_spay_date.Value.Year & "',"
sqlcommand &= "Payment_second = '" & txtsecondpay.Text & "'"
sqlcommand &= "Schedule_sPay = '" & dtp_sch_date.Value.Month & "/" & dtp_sch_date.Value.Day & "/" & dtp_sch_date.Value.Year & "'"
sqlcommand &= "update Sell set Status = '2'where Sell_id = '" & cbsellid.Text & "'"
sqlcommand &= "where Sell_id = '" & cbsellid.Text & "'"
End If
Else
Exit Sub
End If
sqlcmd = New SqlCommand
open_conn()
Try
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = sqlcommand <---------- ***** sqlcommand ตรงนี้ครับที่เกิดเส้นใต้*****
sqlcmd.Connection = SqlConnection1
sqlcmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Sub
End Try
disable_screen()
disableButton()
refresh_grid()
cleardata()
MessageBox.Show("ระบบได้ทำการบันทึกเรียบร้อยแล้ว", "คำเตือน", MessageBoxButtons.OK, MessageBoxIcon.Information)
btnprint.Enabled = True
End Sub