Foxtable(狐表)用户栏目专家坐堂 → [求助]TrimEnd为什么删不掉后面的字符?


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

主题:[求助]TrimEnd为什么删不掉后面的字符?

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


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
[求助]TrimEnd为什么删不掉后面的字符?  发帖心情 Post By:2021/8/29 18:27:00 [显示全部帖子]

请教老师,代码如下:
Dim dt As Data Table = DataTables("tblInvReport")
For Each dr As DataRow In dt.DataRows
    Dim Filter As String
    For i As Integer = 1 To dt.DataCols.Count - 1
        Filter = Filter & "[" & dt.DataCols(i).Name & "]" & " = '" & dr(dt.DataCols(i)) & "' and "
    Next
    Filter = Filter.TrimEnd(" and ")
MessageBox.Show(Filter)
    Dim dr1 As DataRow = DataTables("表2").Find(Filter)
    If dr1 Is Nothing Then '如果没有找到的话
        Dim tr = Tables("表2").AddNew()
        For Each dc As DataCol In DataTables("tblInvReport").DataCols
            tr(dc.Name) = dr(dc.Name)
        Next
    Else
        Continue For
    End If
Next

运行后出错

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20210829181537.png
图片点击可在新窗口打开查看

两个问题:
1. 为什么TrimEnd不能删除Filter后面的字符——“ and ”,是因为语法问题还是Foxtable 2022 preview的bug? 我试了Filter = Filter.TrimEnd(" and "),Filter = Filter.TrimEnd(" ",“and”)都不行
2. 表中有日期格式字段,但是代码【Filter = Filter & "[" & dt.DataCols(i).Name & "]" & " = '" & dr(dt.DataCols(i)) & "' and "】会出现 [日期] = ‘2015-10-13’ 这样的问题,如何解决?

【备注说明】我现在用的是Foxtable 2022 preview

[此贴子已经被作者于2021/8/29 18:34:08编辑过]

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


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
  发帖心情 Post By:2021/8/29 22:01:00 [显示全部帖子]

表中字段很多,如果用Filter  = “字段1 = ‘字段1’ and 字段2 =‘字段2’ and .... and 字段n =‘字段n’” 会很麻烦,所以用Filter = Filter &  dt.DataCols(i).Name & " = '" & dr(dt.DataCols(i)) & "' and " 来替代,但是我不知道如果其中一个字段是日期型,该如果编写代码?
只能写成如下麻烦的形式吗?
Filter  = “字段1 = ‘字段1’ and 字段2 =‘字段2’ and .... and 日期 = #日期# ... ...and 字段n =‘字段n’” 
[此贴子已经被作者于2021/8/29 22:04:53编辑过]

 回到顶部