C#替换datatable中的值

时间:2011-10-01 20:20:50

标签: c# .net sqlite datagridview datatable

场景:App包含DataGridViews,我从数据库填充DataGridViews。 数据库中的所有数据都是加密的,因此在填写DataTable后我需要循环 通过解密方法通过DataTable中的每个条目并放回去 在DataTable的同一位置。我该怎么做这样的任务? 或者有没有办法在输入dataTable时解密数据?

SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter(query, conn);
SQLiteCommandBuilder commandBuilder = new SQLiteCommandBuilder(dataAdapter);
DataTable dataTable = new DataTable();
dataTable.Locale = System.Globalization.CultureInfo.Invaria…
dataAdapter.Fill(dataTable);
//Decrypt cells
int i;
foreach (DataRow row in dataTable.Rows)
{
i = 0;
    foreach (var item in row.ItemArray)
    {
        //This doesn't work
        row.ItemArray[i] = Crypto.Decrypt(item.ToString());
        i++;
    }
}
return dataTable;

1 个答案:

答案 0 :(得分:1)

for (int i = 0; i < dataTable.Rows.Count; i++)
{
    for (int j = 0; j < dataTable.Columns.Count; j++)
    {
        dataTable.Rows[i][j] = Crypto.Decrypt(dataTable.Rows[i][j].ToString());
    }
}