• 全部
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

[求救]dataColumn中设置了expression出错!!!!!!!!!!!分不够就加哈~_~

usersmj 2005-04-03 12:17:11
在加载表后,设置某列的expression
例如:
table1.columns["extendedprice"].expression="unitPrice * quantity";

然后在重新加载或update时,出错。

出错信息:
来自SourceColumn"ExtendedPrice"的列映射失败,
原因在于DataColumn"extendedPrice"是计算所得的列。

而这个ExtendedPrice是表中实际存在的列,希望能自动计算,请问该如何更新(update)呢?
...全文
146 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hamadou 2005-05-30
使用表样式时
dim c1 as new datagridtextboxcolumn()
c.mappingname="column_name"
addhandler c1.textbox.validated ,addressof mytextboxvalidated()
然后在mytextboxvalidated事件里写代码做刷新,写好后要refresh相应的dataadapter控件。
不过
看过篇文章,说自动刷新的方法没有太好的。
回复
usersmj 2005-05-30
唉,还是结了吧
回复
usersmj 2005-05-10
天啦,求命呀,怎么到现在还没人帮忙给我指指路呀
大哥大姐叔叔阿姨弟弟妹妹们帮帮忙三
回复
weiljj 2005-04-05
ExtendedPrice是表中实际存在的列,希望能自动计算,那你不如在那個表中設trigger不更方便?
回复
hamadou 2005-04-05
我的意思就是不使用计算表达式,在你将unitPrice或 quantity列的值改变时,相应的textbox的Validating事件或validated事件来将他们的乘积赋给extendedprice。要做相应的事件关联。
回复
usersmj 2005-04-05
请问如何在相应的列的textbox中使用委托事件,能否改一段代码,谢谢

初学,劳驾了哈
回复
usersmj 2005-04-04
上面出错部分打错了,是
出错:
在重新加载或update时,出错。

出错信息:
来自SourceColumn "C"的列映射失败,
原因在于DataColumn "C"是计算所得的列。
回复
usersmj 2005-04-04
原题如下:
表tbname 中有A、B、 C三字段,其中C=A+B
填充到Datagrid1中(可以支动态改更A、B,更改后计算出C)

代码如下:
Private Sub FrmFinance_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
Me.OleDbConnection1.Open()
Try
Me.ObjDataSet.tbname.Clear()
Me.Adapter1.Fill(Me.ObjDataSet, "tbname")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Catch ex As Exception
MessageBox.Show("数据连接出错,请与管理员联系")
Finally
Me.OleDbConnection1.Close()
End Try
'
Me.ObjDataSet.tbname.columns["C"].expression="A+B";
End Sub

出错:
在重新加载或update时,出错。

出错信息:
来自SourceColumn"ExtendedPrice"的列映射失败,
原因在于DataColumn"extendedPrice"是计算所得的列。
回复
usersmj 2005-04-04
To: hamadou(闵峰)
请问在
2中后面如何取消expression,初学,请多多指教,谢谢
回复
hamadou 2005-04-04
1。可以使用楼上的方法在数据库中用语句解决,但每次修改数据后一定要重新填充,否则数据不会跟着变化。
2。也可以在相应的列的textbox中使用委托事件,当unitPrice 或者 quantity列的数据被修改,光标离开textbox的时候,该列extendedprice的数据改变。最后还是要进行update。这个时候就不要使用计算列了(即便它是真正的列,但设置了expression后,还是被认定为计算列)
回复
usersmj 2005-04-03
高手们帮帮忙呀
回复
ofei 2005-04-03
把这个表达式放到数据库表中
不需要去更新此字段
数据库会自动更新
回复
相关推荐
发帖
VB
创建于2007-09-28

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
帖子事件
创建了帖子
2005-04-03 12:17
社区公告
暂无公告