下面这行代码有问题吧,只有逻辑值才能And啊:
dr("物资ID") = e.DataRow("物资ID") And dr("单位名称") = e.DataRow("单位名称")
另外这两行代码:
Dim dr As DataRow = DataTables("机组库存").Find("物资ID = '" & e.OldValue & "'and 单位名称 = '" & e.OldValue & "'")
Dim dr As DataRow = DataTables("机组库存").Find("物资ID = '" & e.DataRow("物资ID") & "'")
如果物资ID是字符型,没有问题,如果物资ID是数值型的,要去掉单引号:
Dim dr As DataRow = DataTables("机组库存").Find("物资ID = " & e.OldValue & " and 单位名称 = '" & e.OldValue & "'") Dim dr As DataRow = DataTables("机组库存").Find("物资ID = " & e.DataRow("物资ID") )