2

我正在查询SQL server to get the data and store the data in the DataTable.

我在数据库中有很多加密列, 例如 DateOfBirth 是加密的。

获得数据后,我将列加密为foreach(DataRow in datatable.rows)

现在的问题是我需要应用过滤器int and datetime.

但是过滤器失败了,因为当数据被加密时,列的默认数据类型是字符串,并且类似的条件 DOB > 'say 1-1-2013'不起作用。

可能创建克隆可能会有所帮助,但有没有简单的解决方案

任何帮助表示赞赏。

4

3 回答 3

2

如果您的查询仅包含相等比较,那么您还可以加密搜索条件字符串,例如,

当您查找 DateOfBirth '1-1-2013' 的用户时,首先加密此日期,然后在数据库中搜索。

但是,我认为您可能会首先放弃使用这种方法加密数据的目的。

于 2013-09-06T07:44:23.463 回答
1

您必须加密用于过滤数据表的数据,希望这可以解决您的问题。

于 2013-09-06T07:45:02.250 回答
0

为了解决这个问题,我使用克隆方法创建了一个新的 DataTable。设置特定列的数据类型,然后开始将旧数据表中的行填充到新数据表中。

奇怪的是我需要做的是接受改变

dtOld.AcceptChanges();

因为我在旧数据库中进行了更改。

于 2013-09-18T04:42:53.660 回答