解密VB.NET DataSet中的字段

时间:2014-02-04 13:56:41

标签: vb.net encryption

我在DataTable中工作正常,但DataSet没有 .Rows 属性。所有字段都不会被加密,因此它们不会全部解密。我假设它会是某种循环,例如:

For (i = 0, i < DataSet.ColumnIndex [Or something], i++)

但是,我不知道如何执行此操作。

基本上,当我使用基于输入参数的SELECT查询返回数据时,用户输入(名字,姓氏)我想解密特定的行。

我目前如何使用它:

        Try
        For i As Integer = 0 To dt.Rows.Count - 1
            dt.Rows(i)("FIRST_NM_TXT") = clsEncrypt.DecryptData(dt.Rows(i)("FIRST_NM_TXT"))
            dt.Rows(i)("LAST_NM_TXT") = clsEncrypt.DecryptData(dt.Rows(i)("LAST_NM_TXT"))
        Next
    Catch ex As Exception
        MessageBox.Show("Either the first name or last name did not match. Please check your spelling.")
    End Try

我需要DataSet的原因是因为我需要从这个解密数据运行报告。我尝试过我的DataTable,但是我还没有成功。从研究来看,似乎无论如何DataSet都是常见的选择。

1 个答案:

答案 0 :(得分:1)

DataSet object只是DataTable对象的集合

您可以通过以下方式访问DataSet中的DataTable:

Oridinal Dim MyDataTable as DataTable = MyDataSet.Tables(2)

姓名Dim MyDataTable as DataTable = MyDataSet.Tables("Customers")

一旦拥有DataSet

,只需使用上述方法之一解密数据
For i As Integer = 0 To MyDataTable.Rows.Count - 1
    MyDataTable.Rows(i)("FIRST_NM_TXT") = clsEncrypt.DecryptData(MyDataTable.Rows(i)("FIRST_NM_TXT"))
    MyDataTable.Rows(i)("LAST_NM_TXT") = clsEncrypt.DecryptData(MyDataTable.Rows(i)("LAST_NM_TXT"))
Next