请教:下面的代码如何修改?
[此贴子已经被作者于2024/12/4 10:47:24编辑过]
Foxtable没有SqlDataReader 这种东西,cmd.ExecuteReader返回的是一个Foxtable的datatable,注意Foxtable的datatable和.net的datatable不是一回事,不要混用
指导下
[此贴子已经被作者于2024/12/4 12:56:22编辑过]
根据查询条件1查询出来的数据,设置为错误信息1,查询条件2查询出来的数据,设置为错误信息+=1,以此类推
[此贴子已经被作者于2024/12/4 11:47:54编辑过]
去掉循环,直接使用不就行了
……
Dim d As Date = Date.Now
Dim cmd As New SQLCommand
Dim dt2 As DataTable
cmd.ConnectionName = "shujuyuan"
' 去掉循环 For Each r As DataRow In dt.DataRows
Dim errorCount As Integer = 0
' 查询条件1
cmd.CommandText = "SELECT top 1 * from {脱贫户监测户信息表} as a where 工资性收入 > 0 and 劳动技能 in('普通劳动力', '技能劳动力','弱劳动力或半劳动力') and not exists(select * from {脱贫户监测户信息表} as b where a.户编号=b.户编号 and 务工所在地 is not null)"
dt2 = cmd.ExecuteReader()
Dim tp As TimeSpan = Date.Now - d
Output.Show(tp.TotalSeconds)
Output.Show("Count=" & dt2.DataRows.Count)
d = Date.Now
' 错误信息1
If dt2.DataRows.Count > 0 Then
dt.LoadFilter = "证件号码 in (select 证件号码 from {脱贫户监测户信息表} as a where 工资性收入 > 0 and 劳动技能 in('普通劳动力', '技能劳动力','弱劳动力或半劳动力') and not exists(select * from {脱贫户监测户信息表} as b where a.户编号=b.户编号 and 务工所在地 is not null))"
dt.Load()
dt.ReplaceFor("错误信息1", "脱贫户和监测户有工资性收入,但家庭成员无务工监测信息")
dt.save
errorCount += dt2.DataRows.Count
End If
……错误信息2 参考错误信息1 改
[此贴子已经被作者于2024/12/4 12:05:17编辑过]
问题:第二次查询的结果把第一次的查询覆盖了,没有实现两次结果都要显示
[此贴子已经被作者于2024/12/5 7:57:48编辑过]