C#替换数据表中的值

C#替换数据表中的值,c#,.net,sqlite,datagridview,datatable,C#,.net,Sqlite,Datagridview,Datatable,场景:应用程序包含DataGridView,我正在从数据库填充DataGridView。 数据库中的所有数据都是加密的,所以在我填充数据表之后,我需要循环 通过数据表中的每个条目通过解密方法并放回原处 在数据表中的同一位置。我将如何完成这样的任务? 或者有没有一种方法可以在数据进入数据表时对数据进行解密 SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter(query, conn); SQLiteCommandBuilder commandB

场景:应用程序包含DataGridView,我正在从数据库填充DataGridView。 数据库中的所有数据都是加密的,所以在我填充数据表之后,我需要循环 通过数据表中的每个条目通过解密方法并放回原处 在数据表中的同一位置。我将如何完成这样的任务? 或者有没有一种方法可以在数据进入数据表时对数据进行解密

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;
for(int i=0;i
变量
i
出了什么事这个值不应该在某个时候增加吗?对不起,忘记把它放在i++中了。非常感谢,只要计时器允许,我会尽快接受答案
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());
    }
}