我正在尝试从数据库中检索数据时遇到问题,该数据在将数据发送到数据库时加密。
现在我想在检索时间期间解密数据并在数据网格视图控件中查看它。 我也有decrpyt函数,就像解密(string Decrypting);.但问题是我无法实现Loop并实现解密函数,以便我可以将实际数据转换为数据Grid-View控件。请帮助我,我们将不胜感激。
public void SelectData() { try { DataTable dt = new SQLTool().ExecuteOutput("Select * from CustomerTable where Date between '" + TextBox1.Text.Trim() + "' and '" + TextBox2.Text.Trim() + "'");
gvCustomerDetails.DataSource = dt;
}
catch (Exception)
{
}
//Button2.Enabled = true;
//Button1.Enabled = false;
}
答案 0 :(得分:0)
您可以在将dt作为数据源分配给数据网格之前解密dt中的数据并进行更新。
答案 1 :(得分:0)
您需要遍历每个记录并放置在同一位置
只需尝试添加
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
dt.Rows[i][j] = decrypted(dt.Rows[i][j].ToString());
}
}
答案 2 :(得分:0)
试试这个
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
dt.Rows[i]["column_name"] = YourDecriptionFunction(dt.Rows[i]["column_name"].ToString());
}
}
答案 3 :(得分:0)
尝试这样的事情:
dt.Rows.AsEnumerable().ForEach(x => dt.Columns.ToList().ForEach(y => dt.Rows[x][y] = decryptedFunction(dt.Rows[x][y].ToString())))
**未经测试,但它假设经过每一行和每列解密并存储在同一行,列