#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. Большое спасибо, я приму ответ, как только это позволит таймер