У меня такое ощущение, что это то, что вам нужно.
cmd = new OleDbCommand("UPDATE workClass SET [Class] = IIF([Age] < 25, 10, 20)", con);
cmd.ExecuteNonQuery();
Чего не хватает, так это дескриптора, поэтому вы обновляете только определенную запись или набор записей на основе фильтра.Как написано у вас есть запрос, и этот обновляет все записи каждый раз, когда он выполняется.Чтобы добавить предложение where
, обязательно добавьте фильтр с использованием параметра и не используйте конкатенацию строк.
Пример:
cmd = new OleDbCommand("UPDATE workClass SET [Class] = IIF([Age] < 25, 10, 20) WHERE [someId] = ?", con);
cmd.Parameters.Add("@someId", OleDbType.Integer).Value = yourIdValue;
cmd.ExecuteNonQuery();
Важно отметить, что параметрызаказаны в Ms Access и не названы.Первый параметр, встречающийся в запросе, должен соответствовать первому параметру в коллекции параметров.