Может быть, потому что вы неправильно написали "Assasins Creed"?Либо установите предложение WHERE, либо добавьте Price
в качестве значения по умолчанию в последних IIF
"UPDATE Products SET Price = " +
" IIf(Product = 'Crysis Wars'," + CrysisWarsInput.Text +
", IIf(Product = 'Far Cry 2'," + FarCry2Input.Text +
", IIf(Product = 'Day of Defeat Source'," + DODSourceInput.Text +
", IIf(Product = 'GTA 4'," + GTA4Input.Text +
", IIf(Product = 'Assasins Creed'," + AssassinsCreedInput.Text + ", Price)))))";
- других строк в моей таблице, которые не определены ниже
Это то, для чего предназначено WHERE
, для ограничения того, какие записи обновлять.
"UPDATE Products SET Price = " +
" IIf(Product = 'Crysis Wars'," + CrysisWarsInput.Text +
", IIf(Product = 'Far Cry 2'," + FarCry2Input.Text +
", IIf(Product = 'Day of Defeat Source'," + DODSourceInput.Text +
", IIf(Product = 'GTA 4'," + GTA4Input.Text +
", " + AssassinsCreedInput.Text + ")))) +
" WHERE Product in ('Crysis Wars','Far Cry 2','Day of Defeat Source'," +
" 'GTA 4','Assasins Creed')";
Вы также можете использовать оператор SWITCH вместо нескольких IIF.