В базе данных у меня есть 5 столбцов плюс идентификатор:
id, m1, m2, m3, m4, m5
Я выбираю из одной таблицы, которая может иметь от 1 до 5 строк на основе идентификатора:
row,id,value
1, 1, 'A'
2, 1, 'B'
3, 1, 'C'
и т.д.
Что мне нужно сделать, это обновить столбцы m1, m2 и m3 в пользовательской таблице для идентификатора пользователя 1 со значениями A, B и C. Я начал идти по пути чего-то подобного, но во вторник я начинаю серьезно думать в понедельник.
i=1;
cfloop (query=q) {
field = 'm' & i;
temp = invoke(myCFC,"updateUser",{ userid=q.id, field = q.value });
i++;
};
Где «поле» будет м1, м2, м3. Одним из способов было бы использовать переключатель / регистр на счете записи и иметь 5 различных вызовов, но не уверен, что будет лучший способ программно?
[править] это работает, но может быть не лучшим способом - у меня есть случаи на 1-5:
switch(qryM.recordCount) {
case "1":
temp = invoke(userCFC,"updateUser", {
id = qryM.rsm_userid,
m1_c = qryM["rsm_c"][1],
m1_m = qryM["rsm_m"][1]
});
break;
case "2":
temp = invoke(userCFC,"updateUser", {
id = qryM.rsm_userid,
m1_c = qryM["rsm_c"][1],
m1_m = qryM["rsm_m"][1],
m2_c = qryM["rsm_c"][2],
m2_m = qryM["rsm_m"][2]
});
break;