Sql server 在DataSet TableAdapter Fill中将varchar转换为双精度

Sql server 在DataSet TableAdapter Fill中将varchar转换为双精度,sql-server,visual-studio-2010,dataset,tableadapter,Sql Server,Visual Studio 2010,Dataset,Tableadapter,在SQL Server 2008中,我有一个带有表的强类型数据集: TABLE ID (Guid) Value (varchar(50)) 这个表的值实际上代表数据库中的一个加密值,在我的服务器上从这个表中读取数据后,该值将被解密 在visualstudio中;我的表中有一个数据集,如下所示: TABLE ID (Guid) Value (float) 我想知道,在数据集中,当我对该表的TableAdapter调用我的Fill查询时,是否有一种方法可以对值调用我的解密方法 在读取数据

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

TABLE
 ID (Guid)
 Value (varchar(50))
这个表的值实际上代表数据库中的一个加密值,在我的服务器上从这个表中读取数据后,该值将被解密

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

TABLE
 ID (Guid)
 Value (float)
我想知道,在数据集中,当我对该表的TableAdapter调用我的Fill查询时,是否有一种方法可以对值调用我的解密方法

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

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

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

Fill()方法将执行DataAdapter的SelectCommand属性中的任何SQL。当然可以定制SQL,以便在数据进入时“按摩”数据

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


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

试图将这种逻辑塞进DataAdapter就是不起作用。我现在正在尝试一种不同的方法。谢谢你的回复!