以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  调用的目标发生了异常。 表达式包含无效的字符串常量  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99656)

--  作者:winli
--  发布时间:2017/4/24 0:51:00
--  调用的目标发生了异常。 表达式包含无效的字符串常量
显示错提示为:

.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2017.3.18.1
错误所在事件:表,月結數,DataColChanged
详细错误信息:
调用的目标发生了异常。
表达式包含无效的字符串常量: \'HKD。


我们表达的如下
If e.DataCol.Name = "幣種" OrElse e.DataCol.Name = "匯率" Then
    Dim dr As DataRow
    Dim Filter As String
    Filter = "[幣種] = \'" & e.DataRow("幣種")
    dr = DataTables("貨幣名稱").Find(Filter ) \'
    If dr IsNot Nothing Then \' 
        e.DataRow("匯率") = dr("匯率")            
    Else        
        e.DataRow("匯率") = Nothing        
    End If
End If
请看看哪里有问题了,谢谢


--  作者:菲舍尔
--  发布时间:2017/4/24 8:16:00
--  
If e.DataCol.Name = "幣種" OrElse e.DataCol.Name = "匯率" Then
    Dim dr As DataRow
    Dim Filter As String
    Filter = "[幣種] = \'" & e.DataRow("幣種")
    dr = DataTables("貨幣名稱").Find(Filter ) \'
    If dr IsNot Nothing Then \' 
        e.DataRow("匯率") = dr("匯率")            
    Else        
        e.DataRow("匯率") = Nothing        
    End If
End If

这个有问题,想想改变的字段是汇率的情况下,会发生什么问题?!

是会造成死循环一直更新下去的!

--  作者:有点色
--  发布时间:2017/4/24 8:39:00
--  

 改成

 

If e.DataCol.Name = "幣種" Then
    Dim dr As DataRow
    Dim Filter As String
    Filter = "[幣種] = \'" & e.DataRow("幣種") & "\'"
    dr = DataTables("貨幣名稱").Find(Filter )
    If dr IsNot Nothing Then  
        e.DataRow("匯率") = dr("匯率")            
    Else        
        e.DataRow("匯率") = Nothing        
    End If
End If