Я новичок в SQL, так что это может быть проблема базового уровня.
У меня было представление данных на C # со 100 строками, состоящим из 3 столбцов: ID от 1 до 100, имя студента и знакматематикаЯ отсортировал их по убыванию по математике, и теперь я хочу разделить на 5 частей, то есть первые 20% отсортированных учеников, затем я установил в колонке «Вознаграждение» 5 конфет, следующие 20% конфет ученика 4, поэтому на следующей - 3, 2 и 1 конфета.
Вот мой код для 5 конфет для первых 20% студентов, потому что я отсортировал все по убыванию:
for (int i = 0; i < DataGridView.Rows.Count * 0.2; i++)
{
string sql;
sql = "UPDATE StudentManagement SET Reward= 5 WHERE Name= N'" + DataGridView.Rows[i].Cells[1].Value + "'";
Functions.RunSql(sql);
}
Когда я запускаю код, который я ожидалво всех первых 20 строках в столбце «Награда» указано 5 конфет, но оно только обновило значение 5 только для 19-й строки.Все первые 18 строк и 20-ые строки все еще имели значение NULL в столбцах Reward.Я думаю, что проблема возникла из условия if:
i < DataGridView.Rows.Count * 0.2
Как я могу решить эту проблему?