以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何判断删除行的某个字段不为空 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=108736) |
-- 作者:happyft -- 发布时间:2017/10/28 8:58:00 -- 如何判断删除行的某个字段不为空 \'---获取已删除行(通过sql事务一次性删除) Dim systable As System.Data.DataTable = tb.BaseTable Dim ChangeTable As System.Data.DataTable = systable.GetChanges(System.Data.DataRowState.Deleted) If ChangeTable IsNot Nothing Then Dim strIDC As String = "" \'单据识别列 For Each cdr As System.Data.DataRow In ChangeTable.Rows \'遍历删除行 \'--集合所有删除表单的单据识别列 If cdr(dr("IDC"),System.Data.DataRowVersion.Original) > "" Then \'单据识别列不为空 strIDC + = cdr(dr("IDC"),System.Data.DataRowVersion.Original) End If Next End If 上面红色的表示删除掉的行的IDC字段不为空时才执行,但这样写提示出错,要怎么写才行? 谢谢!
|
-- 作者:有点蓝 -- 发布时间:2017/10/28 9:07:00 -- 参考:http://www.foxtable.com/webhelp/scr/0426.htm |
-- 作者:HappyFt -- 发布时间:2017/10/28 9:24:00 -- If cdr.Isnull(dr("IDC"),System.Data.DataRowVersion.Original) = False Then \'单据识别列不为空 这样也会出错,提示"无法将类型为“System.String”的对象强制转换为类型“System.Data.DataColumn”。 |
-- 作者:有点蓝 -- 发布时间:2017/10/28 10:16:00 -- If cdr.Isnull("IDC") = False Then |
-- 作者:HappyFt -- 发布时间:2017/10/28 10:42:00 -- 不能直直接那样用, dr("IDC") 是引用的变量,比如订单其值为订单编号,采购单则为采购单号 For Each cdr As System.Data.DataRow In ChangeTable.Rows \'遍历删除行 \'--集合所有删除表单的单据识别列 If cdr(dr("IDC"),System.Data.DataRowVersion.Original) > "" Then \'单据识别列不为空 strIDC + = cdr(dr("IDC"),System.Data.DataRowVersion.Original) End If Next |
-- 作者:有点蓝 -- 发布时间:2017/10/28 10:58:00 -- 这个意思? dim idc as string = "订单编号" If cdr.Isnull(idc) = False Then ……
|
-- 作者:HappyFt -- 发布时间:2017/10/30 9:02:00 -- 不是那个意思,用ft普通的删除这样写没错 if cdr.Isnull("订单编号") = false then 而我是用sql删除后保存时要判断已经删除掉的行某列是否为空(要用其值回收自动编码,为空时会出错) If cdr("订单编号",System.Data.DataRowVersion.Original) > "" Then \'单据识别列不为空 If cdr.Isnull("订单编号",System.Data.DataRowVersion.Original) = false Then \'单据识别列不为空 不是变量的问题,因为字段不为空时都不出错,而是后面加了System.Data.DataRowVersion.Original后写法的问题 两种写法都会出错,不知道要怎么写?
|
-- 作者:有点甜 -- 发布时间:2017/10/30 9:19:00 -- 弹出值,看是什么
If cdr("订单编号",System.Data.DataRowVersion.Original).ToString > "" Then |