以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助:加密所有字段列,其中逻辑列加密报错,提示:该字符串未被识别为有效的布尔值 求解  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=62502)

--  作者:李孝春
--  发布时间:2015/1/3 12:49:00
--  求助:加密所有字段列,其中逻辑列加密报错,提示:该字符串未被识别为有效的布尔值 求解

求助:加密所有字段列,其中逻辑列加密报错,提示:该字符串未被识别为有效的布尔值 求解

 

收发文基础信息表中有一个是否处理列  为逻辑列、

按钮事件代码如下:

 

For Each r As Row In Tables("收发文基础信息").Rows
    Dim dr As DataRow = DataTables("收发文基础信息").Find("_Identify=" & r("_Identify"))
    If dr Is Nothing Then
        dr=DataTables("收发文基础信息").AddNew
    End If
    For Each c As Col In Tables("收发文基础信息").Cols
        If c.name<> "_Identify" AndAlso c.name <> "_Locked" AndAlso c.name <> "_SortKey" AndAlso r.IsNull(c.name)=False  Then
            dr(c.name) = EncryptText(r(c.name),"a23","bb2")
        End If
    Next
Next
DataTables("收发文基础信息").Save

 

错误代码如下:

.NET Framework 版本:2.0.50727.6419
Foxtable 版本:2014.10.23.1
错误所在事件:窗口,收文登记,Button9,Click
详细错误信息:
该字符串未被识别为有效的布尔值。不能在 是否处理 列中存储 <irV2kw3sl1qEeEQYMGM0pg==>。所需类型是 Boolean。
该字符串未被识别为有效的布尔值。

 

 

进一步改进 红色部分加粗代码增加后不报错了 但是对应的文件日期 流水日期 是否处理三个字段值不能实现加密处理,求助

For Each r As Row In Tables("收发文基础信息").Rows
    Dim dr As DataRow = DataTables("收发文基础信息").Find("_Identify=" & r("_Identify"))
    If dr Is Nothing Then
        dr=DataTables("收发文基础信息").AddNew
    End If
    For Each c As Col In Tables("收发文基础信息").Cols
        If c.name<> "_Identify" AndAlso c.name <> "_Locked" AndAlso c.name <> "_SortKey" AndAlso r.IsNull(c.name)=False AndAlso c.name <> "是否处理" AndAlso c.name <> "文件日期" AndAlso c.name <> "流水日期" Then
            dr(c.name) = EncryptText(r(c.name),"a23","bb2")
        End If
    Next
Next
DataTables("收发文基础信息").Save


[此贴子已经被作者于2015-1-3 20:14:14编辑过]

--  作者:有点甜
--  发布时间:2015/1/4 12:59:00
--  

 日期列、逻辑列、数字列,都是不能存储字符串的啊。

 

 加密的话,就应该把所有弄成字符列。或者添加辅佐列存储加密后内容。


--  作者:李孝春
--  发布时间:2015/1/5 15:37:00
--  回复:(有点甜) 日期列、逻辑列、数字列,都是...
有点甜老师 添加辅佐列存储加密后内容。这个思路可以详细说说么
--  作者:Bin
--  发布时间:2015/1/5 15:39:00
--  
就是说,多增加一个列.

比如 列1  加密后的列1(字符串类型)