更新数据库时出现问题

时间:2015-08-31 08:49:05

标签: database vb.net dataset

我附上了代码以供参考。我正在尝试为我的项目详细信息创建数据库。我目前有两种形式:

  1. 主要表格
  2. 项目明细表格
  3. 用于切换各种表格的主要表格

    项目详细信息表单用于添加/编辑/加载项目详细信息

    我在Visual Basic中的主要形式是这样的。

    Public Class Form1
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        End Sub
    
        Private Sub Bt_Project_Details_Click(sender As Object, e As EventArgs) Handles Bt_Project_Details.Click
            Me.Hide()
            Project_Details_Form.Show()
        End Sub
    End Class
    

    我的项目详细信息表格如下所示。

    Public Class Project_Details_Form
    
        Private Sub Project_Details_Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'TODO: This line of code loads data into the 'Project_Data_Set.Project_Data_Table' table. You can move, or remove it, as needed.
            Me.Project_Data_TableTableAdapter.Fill(Me.Project_Data_Set.Project_Data_Table)
        End Sub
    
        Private Sub Bt_Load_Project_Click(sender As Object, e As EventArgs) Handles Bt_Load_Project.Click
        End Sub
    
        Private Sub Bt_Cancel_Click(sender As Object, e As EventArgs) Handles Bt_Cancel.Click
            Me.Hide()
            Form1.Show()
        End Sub
    
        Private Sub BindingNavigatorAddNewItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorAddNewItem.Click
            Project_Data_TableBindingSource.AddNew()
        End Sub
    
        Private Sub Project_Data_TableBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles Project_Data_TableBindingNavigatorSaveItem.Click
            Me.Validate()
            Me.Project_Data_TableBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.Project_Data_Set)
        End Sub
    
        Private Sub BindingNavigatorDeleteItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorDeleteItem.Click
            Project_Data_TableBindingSource.RemoveCurrent()
        End Sub
    
        Private Sub FillByToolStripButton_Click(sender As Object, e As EventArgs)
            Try
                Me.Project_Data_TableTableAdapter.FillBy(Me.Project_Data_Set.Project_Data_Table)
            Catch ex As System.Exception
                System.Windows.Forms.MessageBox.Show(ex.Message)
            End Try
    
        End Sub
    End Class
    

    现在我遇到了一些问题:

    1. 每当我运行程序时,尝试输入保存但值为空的第一个条目数据。下次正确存储数据。如何让我的第一个条目可见?

    2. 在下面的代码中:

      Private Sub BindingNavigatorAddNewItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorAddNewItem.Click
          Project_Data_TableBindingSource.AddNew()
      
      End Sub
      

      我正在使用AddNew()。这工作正常,但问题是即使我不输入数据,如日期,名称保持为空,其位置记录的数据仅存储为空。我想说如果任何项目数据集为空都会给出错误消息(因为用户必须输入这些数据)

1 个答案:

答案 0 :(得分:0)

还有其他方法我可以单独指定值。 就像我的项目数据库包含项目名称,客户名称等,如果我说新按钮按下清除所有字段。一旦表单填写单个值,一旦按下保存按钮就会记录

Private Sub BindingNavigatorAddNewItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorAddNewItem.Click
        Project_Data_TableBindingSource.AddNew()
    End Sub