C # Замена значения в datatable

#c# #.net #sqlite #datagridview #datatable

#c# #.net #sqlite #datagridview #datatable

Вопрос:

Сценарий: приложение содержит DataGridViews, я заполняю DataGridViews из базы данных. Все данные в базе данных зашифрованы, поэтому после заполнения моей таблицы данных мне нужно перебрать каждую запись в таблице данных с помощью методов дешифрования и поместить обратно в то же место в таблице данных. Как бы я выполнил такую задачу? Или есть способ, которым я могу расшифровать данные при вводе в 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. Что случилось с i переменной? — Разве это значение не должно увеличиваться в какой-то момент?

2. Извините, забыл поместить в i .

Ответ №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());
    }
}
  

Комментарии:

1. Большое спасибо, я приму ответ, как только это позволит таймер