【问题标题】:Problems updating the database更新数据库的问题
【发布时间】:2015-11-25 06:05:41
【问题描述】:

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

  1. 主要形式
  2. 项目明细表

用于切换各种表单的主表单

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

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

【问题讨论】:

  • 如果您询问的是 VB(实际上是 VB.NET;只是假定 Visual Basic 是旧的 VB6,在 .NET 之前),为什么要添加 VBA 标记(一种完全不同的语言)?正确标记您的问题,最好不要在标题中添加(不准确)对编程语言的引用。
  • 我是初学者。我正在用 Visual Basic 编写代码。
  • @varocarbas 是什么让你认为我在这里行为不端。我已经发布了我的代码。我希望它确实符合提出问题的要求
  • 在您的Project_Data_TableBindingNavigatorSaveItem_Click 子中,您需要在保存之前检查是否添加了任何数据。

标签: database vb.net dataset


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    相关资源
    最近更新 更多