Foxtable(狐表)用户栏目专家坐堂 → 查询错误信息


  共有1096人关注过本帖树形打印复制链接

主题:查询错误信息

帅哥哟,离线,有人找我吗?
lrh9537
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
查询错误信息  发帖心情 Post By:2024/11/6 9:03:00 [显示全部帖子]

Dim filter1 As String = "残疾证号校验 = True"
Dim filter2 As String = "身份证号校验 = True"

' 合并过滤条件
Dim combinedFilter As String = filter1 & " OR " & filter2

' 检索匹配行
Dim filteredRows As DataTable = DataTables("脱贫户监测户信息表").Select(combinedFilter)

' 检查是否有符合条件的行
If filteredRows.RowCount > 0 Then
    ' 添加列并标记错误
    If Not filteredRows.Columns.Contains("错误信息") Then
        filteredRows.Columns.Add("错误信息", GetType(String))
    End If
    
    ' 为匹配行添加错误信息
    For Each Row As DataRow In filteredRows.Rows 
        If Row.Field(Of Boolean)("残疾证号校验") Then 
            Row("错误信息") = "残疾证号有误" 
        ElseIf Row.Field(Of Boolean)("身份证号校验") Then 
            Row("错误信息") = "身份证号有误" 
        End If 
    Next
    
Else
    MessageBox.Show("没有符合条件的数据")
End If

标红的代码应该怎么改?

 回到顶部
帅哥哟,离线,有人找我吗?
lrh9537
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/11/6 9:09:00 [显示全部帖子]

错误提示:If filteredRows.RowCount > 0 Then

 回到顶部
帅哥哟,离线,有人找我吗?
lrh9537
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/11/6 9:15:00 [显示全部帖子]

请老师指导下上述代码的正确代码,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
lrh9537
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/11/6 9:23:00 [显示全部帖子]


错误提示:If Not DataTable.Columns.Contains("错误信息") Then
[此贴子已经被作者于2024/11/6 11:12:16编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lrh9537
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/11/6 9:44:00 [显示全部帖子]

在线等

 回到顶部
帅哥哟,离线,有人找我吗?
lrh9537
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/11/6 10:21:00 [显示全部帖子]

Dim dt As DataTable =  DataTables("脱贫户监测户信息表")

    If Not dt .Columns.Contains("错误信息") Then
        dt .Columns.Add("错误信息", GetType(String))
    End If

If Not dt.Columns.Contains("错误信息") Then 这里还是不正确

 回到顶部
帅哥哟,离线,有人找我吗?
lrh9537
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/11/6 10:39:00 [显示全部帖子]


 If Row.Field(Of Boolean)("残疾证号校验") Then ,Field改为什么?
[此贴子已经被作者于2024/11/6 11:12:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lrh9537
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/11/6 11:12:00 [显示全部帖子]

Dim filter1 As String = "残疾证号校验 = True"
Dim filter2 As String = "不符合校验规则 = True"
Dim filter3 As String = "len(证件号码) <> 15 And len(证件号码) <> 18 And len(证件号码) <> 20  And len(证件号码) <>22"
Dim filter4 As String = "len(证件号码) = 15"
Dim filter5 As String = "身份证号 Is null"


' 合并过滤条件
Dim combinedFilter As String = filter1 & " OR " & filter2 & " OR " & filter3 & " OR " & filter4 & " OR " & filter5

' 检索匹配行
Dim drs As List(Of DataRow) = DataTables("脱贫户监测户信息表").Select(combinedFilter).ToList()

' 检查是否有符合条件的行
If drs.Count > 0 Then
    ' 添加列并标记错误
    Dim dt As DataTable = DataTables("脱贫户监测户信息表")
    If Not dt.DataCols.Contains("错误信息") Then
        dt.DataCols.Add("错误信息", GetType(String))
    End If
    
    ' 为匹配行添加错误信息 
    For Each Row As DataRow In drs 
        If 符合第一个条件 Then 
            Row("错误信息") = "残疾证号校验错误" 
        ElseIf 符合第二个条件 Then 
            Row("错误信息") = "身份证号校验错误"
        ElseIf 符合第三个条件Then 
            Row("错误信息") = "证件号码倍数异常"
        ElseIf 符合第四个条件 Then 
            Row("错误信息") = "证件号码15位" 
        ElseIf 符合第五个条件 Then 
            Row("错误信息") = "无身份证号" 
        End If
    Next 
Else
    MessageBox.Show("没有符合条件的数据")
End If

“符合某个条件”这里怎么整?

 回到顶部
帅哥哟,离线,有人找我吗?
lrh9537
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/11/6 11:31:00 [显示全部帖子]

Dim filter1 As String = "残疾证号校验 = True"
Dim filter2 As String = "不符合校验规则 = True"
Dim filter3 As String = "len(证件号码) <> 15 And len(证件号码) <> 18 And len(证件号码) <> 20  And len(证件号码) <>22"
Dim filter4 As String = "len(证件号码) = 15"
Dim filter5 As String = "身份证号 Is null"

比如有这5个条件,如果  
For Each Row As DataRow In drs 
        If 符合第一个条件 Then 
            Row("错误信息") = "残疾证号校验错误" 
        ElseIf 符合第二个条件 Then 
            Row("错误信息") = "身份证号校验错误"
        ElseIf 符合第三个条件Then 
            Row("错误信息") = "证件号码倍数异常"
        ElseIf 符合第四个条件 Then 
            Row("错误信息") = "证件号码15位" 
        ElseIf 符合第五个条件 Then 
            Row("错误信息") = "无身份证号" 
        End If
    Next 

 回到顶部
帅哥哟,离线,有人找我吗?
lrh9537
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:399 积分:3266 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/11/6 14:53:00 [显示全部帖子]

1.身份证号为空的代码怎么写?
        ElseIf ************ Then 
            Row("错误信息") = "无身份证号" 
        End If

2.ElseIf 号码.length <> 15 andslso 号码.length <> 18 Then
加上不包含“号码“为空的代码怎么写?

 回到顶部
总数 18 1 2 下一页