2011-04-15 51 views
0

在SQL Server 2008中,我有一個強類型數據與表中設置:將varchar轉換到DataSet中的雙TableAdapter的填寫

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

這此表,價值實際上代表了數據庫的加密值,從我的服務器上的這張表讀取後,它將被解密。

在Visual Studio中;我有一個數據集與我的表,這看起來像:

TABLE 
ID (Guid) 
Value (float) 

我想知道是否有一種方法,在一個數據集,以呼籲我的解密方法的價值當我打電話給我的填寫在TableAdapter上查詢此表。

有沒有辦法在讀取數據時擴展DataSet XSD以支持這種數據按摩

除此之外,在此表中插入/更新記錄以將字符串寫入加密值時,是否有方法?

注:
所有的加密/解密代碼被客戶端數據庫,對數據庫本身沒有執行。

回答

1

Fill()方法將執行DataAdapter的SelectCommand屬性中的任何SQL。當然,可以自定義SQL來「按摩」數據。

由於需要執行一些.NET解密,您的問題變得更加複雜。如果你真的想這樣做,並且對你來說很有價值,你可以在SQL Server數據庫中安裝一個.NET程序集。完成此操作後,您應該能夠指定一個自定義的SelectCommand來調用.NET程序集中的代碼,以便在選擇時解密數據。

但是,這似乎是一個很大的工作很少的獎勵。簡單地後處理數據集並在那裏解密可能更簡單也更高效。 :)

+0

嘗試在此邏輯中嵌入DataAdapter只是無法正常工作。我正在嘗試一種不同的方法。感謝您的答覆! – 2011-04-18 15:44:50