【问题标题】:Convert varchar to a double in DataSet TableAdapter Fill在 DataSet TableAdapter Fill 中将 varchar 转换为 double
【发布时间】:2011-08-06 11:45:23
【问题描述】:

在 SQL Server 2008 中,我有一个带有表的强类型数据集:

TABLE
 ID (Guid)
 Value (varchar(50))

这个这个表,Value实际上代表了数据库上的一个加密值,从我服务器上的这个表读取后,它就被解密了。

在 Visual Studio 中;我的表有一个数据集,如下所示:

TABLE
 ID (Guid)
 Value (float)

我想知道当我为此在 TableAdapter 上调用 Fill 查询时,在 DataSet 中是否有一种方法可以在 Value 上调用我的解密方法表。

是否有扩展 DataSet XSD 以在读取数据时支持这种类型的数据按摩

除此之外,在此表中插入/更新记录时,是否有办法将字符串写入加密值?

注意:
所有加密/解密代码都在客户端上执行到数据库,不是在数据库本身上。

【问题讨论】:

    标签: sql-server visual-studio-2010 dataset tableadapter


    【解决方案1】:

    Fill() 方法将执行 DataAdapter 的 SelectCommand 属性中的任何 SQL。当然可以自定义 SQL 来“按摩”数据。

    由于需要执行一些 .NET 解密,您的问题变得更加复杂。如果您真的想这样做并且它对您很有价值,您可以在 SQL Server 数据库中安装一个 .NET 程序集。完成此操作后,您应该能够指定一个自定义 SelectCommand,该命令调用 .NET 程序集中的代码以在选择时解密数据。

    但这似乎是一项非常艰巨的工作,而回报却很少。简单地对数据集进行后处理并在那里解密可能更容易、更有效。 :)

    【讨论】:

    • 试图将这个逻辑塞进 DataAdapter 是行不通的。我现在正在尝试一种不同的方法。感谢您的回复!
    猜你喜欢
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 2020-10-21
    • 2020-02-13
    • 2019-08-12
    相关资源
    最近更新 更多