在SQL Server 2008中,我有一个带有表格的强类型数据集:
TABLE
ID (Guid)
Value (varchar(50))
此表 Value 实际上表示数据库上的加密值,在我从服务器上的此表读取后会被解密。
在Visual Studio中;我的桌子上有一个数据集,看起来像是:
TABLE
ID (Guid)
Value (float)
我想知道当我在TableAdapter上调用 Fill 查询时,在DataSet中是否有办法在 Value 上调用我的解密方法表
在读取数据时,是否有扩展DataSet XSD以支持此类数据按摩?
除此之外,在此表中插入/更新记录以将字符串写入加密值是否有办法?
注意:
所有加密/解密代码都在客户端上执行到数据库,数据库本身不。
答案 0 :(得分:1)
Fill()方法将执行DataAdapter的SelectCommand属性中的任何SQL。当然可以自定义SQL来“按摩”数据。
由于需要执行某些.NET解密,因此问题变得更加复杂。如果您真的想要这样做并且它对您有很高的价值,您可以在SQL Server数据库中安装.NET程序集。完成此操作后,您应该能够指定一个自定义SelectCommand,它调用.NET程序集中的代码以在选择时解密数据。
但这似乎是一项非常少的奖励。简单地对数据集进行后处理并在那里解密可能更容易,更有效。 :)