通过多种形式更新数据

时间:2014-07-02 14:54:10

标签: database vb.net

我有一个主要表单,上面有六个或七个按钮,每个按钮打开一个新表单,该表单从用户收集信息以存储在单独的表中。因此,当我将信息输入这些多个表单时,我希望它在单击保存按钮时从主页面进行一次更新。我尝试从主页面引用表格适配器和每个表单的绑定源但数据丢失当任何其他形式被隐藏时。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles savebtn.Click
    Me.Validate()
    ContactBindingSource.EndEdit()
    ContactTableAdapter.Update(CitWeldDataSet.Contact)
    WeldersBindingSource.EndEdit()
    WeldersTableAdapter.Update(CitWeldDataSet.Welders)
    BCP100BindingSource.EndEdit()
    BCP100TableAdapter.Update(CitWeldDataSet.BCP100)
    bcp100.Close()
End Sub

如何在每个表单中存储输入的用户数据,直到用户最终准备好保存?

抱歉,我是vb.net的新手。我已经建立了与多个表关系的数据库(访问),但是为了存储这些关系,一次只需要更新它们,还是可以进行多次不同的保存?

3 个答案:

答案 0 :(得分:0)

您可以将数据存储在设置中,直到用户点击保存,然后您可以使用设置中存储的数据填充表格。

您可以在:我的项目/设置

中创建设置

之后您可以像这样存储数据:

My.Settings.Form1 = TextBox1.Text

关闭表单时,设置中的数据不会丢失。

我希望这就是你想要的。 :)

答案 1 :(得分:0)

查看您是否可以将数据存储在对象中并将其作为每个表单的contstructor传递:

Private TableObject As ObjectType

Public Sub New(tableObject As ObjectType)
    InitializeComponent()

    Me.TableObject = tableObject
    Binding.DataSource = CurrentClient
End Sub

对象实际上作为ByRef传递给每个表单,当您在主表单上调用save时,将使用绑定控件的值。

答案 2 :(得分:0)

好的,我弄明白发生了什么..有两个绑定源(一个用于查询,另一个用于原始表)

Public Sub Changes()

    BCP100BindingSource.Position = WelderqueryBindingSource.Position
    ContactBindingSource.Position = WelderqueryBindingSource.Position
    CSAWQBindingSource.Position = WelderqueryBindingSource.Position
    CWB1BindingSource.Position = WelderqueryBindingSource.Position
    CWB2BindingSource.Position = WelderqueryBindingSource.Position
    JourneymanBindingSource.Position = WelderqueryBindingSource.Position
    PQR1BindingSource.Position = WelderqueryBindingSource.Position
    PQR2BindingSource.Position = WelderqueryBindingSource.Position
    PQR3BindingSource.Position = WelderqueryBindingSource.Position
    WeldersBindingSource.Position = WelderqueryBindingSource.Position
    ABindingSource.Position = WeldersBindingSource.Position
    BBindingSource.Position = WeldersBindingSource.Position
    CBindingSource.Position = WeldersBindingSource.Position
    RedsealBindingSource.Position = WeldersBindingSource.Position
    PressureticketBindingSource.Position = WeldersBindingSource.Position
    NotesBindingSource.Position = WelderqueryBindingSource.Position

 End Sub

它正在调用Welderquerybindingsource但更新原始表绑定源....可能是很长的路要走,但它工作正常:) 谢谢大家的帮助!