根据要插入的文本框更新绑定源
本文关键字:更新 绑定 文本 插入 | 更新日期: 2024-11-08 02:34:06
我对插入应该如何处理数据集、绑定源和绑定控件感到困惑。
考虑以下方案:我有一个具有添加或更新模式的窗体。 更新模式很简单,主键传递到表单中,填充日期集,并从数据集更新绑定源。 代码如下所示。
Me.DS_Edit_Phantom_Block_taPhantomBlock1.Fill(Me.DS_Edit_Phantom_Block1.PHANTOM_BLOCK, CInt(mPhntmSessionNum))
bsPhantomBlock.DataSource = DS_Edit_Phantom_Block1.PHANTOM_BLOCK
事实证明,插入要困难得多。 我可以从 next_sequence 函数中获取主键(我使用的是 oracle),但结果集为空。
我想做的是让用户填充所需的表单,然后单击"确定",并在单击事件中执行绑定。
不过我无法分辨它的正面或反面。 我似乎无法将用户输入的数据(由于外键约束而需要)带回数据集,而无需遍历每个控件。
这是我拥有的不起作用的东西。 由于外键约束,它在执行更新时崩溃...所以我需要来自控件的数据以某种方式访问数据集,希望不是通过手动获取每条数据。
Dim drvPhantomBlock As DataRowView = TryCast(Me.bsPhantomBlock.Current, DataRowView)
Dim drvPhantom As DataRowView = TryCast(Me.bsPhantom.Current, DataRowView)
If mViewAddEdit = ViewAddEditEnum.Add Then ' do this first
drvPhantomBlock = DirectCast(bsPhantomBlock.AddNew(), DataRowView)
Dim drPhantomBlock As DataRow = drvPhantomBlock.Row
drPhantomBlock("PHNTM_SESSION_NO") = mPhntmSessionNum
drPhantomBlock("PHANTOM_BLOCK_NO") = mPhntmBlockNum
drvPhantomBlock.EndEdit()
Me.DS_Edit_Phantom_Block_taPhantomBlock1.Update(DS_Edit_Phantom_Block1.PHANTOM_BLOCK)
bsPhantomBlock.DataSource = Me.DS_Edit_Phantom_Block_taPhantomBlock1
我不太确定你在做什么。 当我需要向绑定源添加一行时,我使用 bindingsource.addnew() 方法并将一行强制转换为绑定源的当前属性。 这是我使用的一些伪代码: 理学士。添加新()
Dim mydv As DataRowView = bs.Current
Dim myrow As DataRow = mydv.Row
myrow(field1) = textbox1
myrow(field2) = textbox2
myrow.EndEdit()
bs.EndEdit 'not sure if its necessary
Tableadapter.update(DS.UnderlyingTable)