用vb.net写的进货系统,我一添加记录他就提示票据号不能为空,各位高手帮帮忙看什么地方不对。
Imports System.Data.SqlClient
Public Class frmjinhuo
Dim bmdata As BindingManagerBase
Private Sub setkongjianture()
txtpiaoju.Enabled = True
DateTimePicker1.Enabled = True
Cmbzhonglei.Enabled = True
txtbianhao.Enabled = True
txtmingcheng.Enabled = True
txtdanwei.Enabled = True
txtdanjia.Enabled = True
txtshuliang.Enabled = True
txtjine.Enabled = True
txtjingshouren.Enabled = True
End Sub
Private Sub setkongjianfalse()
txtpiaoju.Enabled = False
DateTimePicker1.Enabled = False
Cmbzhonglei.Enabled = False
txtbianhao.Enabled = False
txtmingcheng.Enabled = False
txtdanwei.Enabled = False
txtdanjia.Enabled = False
txtshuliang.Enabled = False
txtjine.Enabled = False
txtjingshouren.Enabled = False
End Sub
Private Sub updatedataset()
Dim datasetchanges As DataSet
bmdata.EndCurrentEdit()
datasetchanges = CType(DataSet21.GetChanges, DataSet)
If (Not (datasetchanges) Is Nothing) Then
Try
updatedatasource(datasetchanges)
DataSet21.Merge(datasetchanges)
DataSet21.AcceptChanges()
Catch exupdate As System.Exception
Throw (exupdate)
End Try
End If
End Sub
Private Sub updatedatasource(ByVal changedrows As DataSet)
Try
If (Not (changedrows) Is Nothing) Then
SqlConnection1.Open()
SqlDataAdapter1.Update(changedrows)
End If
Catch updateexception As System.Exception
Throw updateexception
Finally
SqlConnection1.Close()
End Try
End Sub
Private Sub frmjinhuo_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
setkongjianfalse()
SqlDataAdapter1.Fill(DataSet21, "采购表")
bmdata = BindingContext(DataSet21, "采购表")
End Sub
Private Sub Btndengji_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btndengji.Click
setkongjianture()
Try
bmdata.EndCurrentEdit()
bmdata.AddNew()
DateTimePicker1.Text = Today()
txtjingshouren.Text = username
Catch exadd As System.Exception
MessageBox.Show(exadd.Message)
End Try
End Sub
Private Sub Btnbaocun_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnbaocun.Click
Try
updatedataset()
Catch exupdate As System.Exception
MessageBox.Show(exupdate.Message)
End Try
End Sub
Private Sub Btnxiugai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnxiugai.Click
setkongjianture()
DateTimePicker1.Focus()
End Sub
Private Sub Btnshangchu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnshangchu.Click
If MessageBox.Show("你真的要删除吗?请确认", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Stop) = Windows.Forms.DialogResult.Yes Then
If bmdata.Count > 0 Then
DataSet21.Tables("采购表").Rows(bmdata.Position).Delete()
End If
End If
End Sub
Private Sub Btntuichu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btntuichu.Click
Me.Close()
End Sub
Private Sub txtbianhao_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtbianhao.Validated
Dim myconn1 As New SqlClient.SqlConnection(myCnn)
Dim mycomm1 As New SqlCommand()
mycomm1.Connection = myconn1
mycomm1.CommandText = "select 货物名称 ,单位 ,进货价格 ,供应商 from 采购表 where 货物编号 = '" & txtbianhao.Text.Trim & "'"
Dim myreader1 As SqlDataReader
myconn1.Open()
myreader1 = mycomm1.ExecuteReader
While myreader1.Read
Try
txtmingcheng.Text = myreader1.GetString(0)
txtdanwei.Text = myreader1.GetString(1)
txtdanjia.Text = myreader1.GetString(2)
txtgongying.Text = myreader1.GetString(3)
Catch
MsgBox(Err.Description)
End Try
End While
myconn1.Close()
End Sub
Private Sub txtjine_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtjine.TextChanged
txtjine.Text = Val(txtdanjia.Text) * Val(txtshuliang.Text)
End Sub