Как исправить синтаксическую ошибку в выражении UPDATE

Существует два способа доступа к свойствам объекта:

  • Точечная нотация: something.bar
  • Обозначение скобок: something['bar']

Значение между скобками может быть любым выражением. Поэтому, если имя свойства хранится в переменной, вы должны использовать нотацию в виде скобок:

var foo = 'bar';
something[foo];
// both x = something[foo] and something[foo] = x work as expected
0
задан Satish Saini 24 March 2019 в 07:26
поделиться

1 ответ

Никогда не используйте конкатенацию строк для построения команд SQL, но всегда используйте параметризованный запрос, чтобы избежать SQL-инъекций.

Попробуйте:

Измените ваш запрос на что-то вроде этого:

"UPDATE [Payments] SET [Position] = ?, [PaymentRecipient] = ?, [PaymentFor] = ?, " & _
  "[Amount] = ?, [PayedAmount] = ? & _
  " WHERE [AssignedOfficer] = ?"

, а затем добавьте параметры:

cmdUpdate.Parameters.AddWithValue("@p1", TextBox2.Text)
cmdUpdate.Parameters.AddWithValue("@p2", TextBox3.Text)   
cmdUpdate.Parameters.AddWithValue("@p3", TextBox4.Text)   
cmdUpdate.Parameters.AddWithValue("@p4", TextBox5.Text)
cmdUpdate.Parameters.AddWithValue("@p5", TextBox6.Text)
cmdUpdate.Parameters.AddWithValue("@p6", TextBox1.Text)
cmdUpdate.ExecuteNonQuery()
0
ответ дан Satish Saini 24 March 2019 в 07:26
поделиться