2014-12-12 4 views
0

У меня возникли проблемы с моим кодом. я просто не мог найти решение. Когда я запускаю свою программу, она всегда дает мне ошибкуОшибка синтаксиса в инструкции UPDATE vb 2010

синтаксическая ошибка в UPDATE заявление

вот код.

Try 
     cmd.Connection = conn 
     cmd.CommandText = "UPDATE BC_Inventory SET [Price]='" + PriceU.Text + "',[Addition]='" + AddU.Text + "'," + _ 
     "[Date_Updated]='" + DateU.Text + "',[Time_Updated]='" + TimeU.Text + "',[Updated_By]='" + UpdatedBy.Text + "'," + _ 
     "WHERE [Item]='" + com_ItemU.Text + "'" 
     cmd.ExecuteNonQuery() 
    Catch ex As Exception 
     MessageBox.Show(ex.Message, "Error") 
    Finally 
     conn.Close() 
    End Try 
    MsgBox("Inventory updated!") 
+0

приготовьтесь услышать о параметрах SQL инъекций и SQL. – mga911

+0

"обновление от 'whoever', где" дает явно синтаксическую ошибку. – Arvo

ответ

0

Вы добавили дополнительные "," после [Updated_By] ([Updated_By]='" + UpdatedBy.Text + "'," < - дополнительный ","), который дает Синтаксическая ошибка

+0

Решенный. Я этого не видел. :) –

0

Пожалуйста, попробуйте этот код

cmd.CommandText = "UPDATE BC_Inventory SET [Price]='" + PriceU.Text + "',[Addition]='" + AddU.Text + "'," + _ 
    "[Date_Updated]='" + DateU.Text + "',[Time_Updated]='" + TimeU.Text + "',[Updated_By]='" + UpdatedBy.Text + "' " + _ 
    "WHERE [Item]='" + com_ItemU.Text + "'" 
0

Печать запрос как-то перед выполнением это стандартная отладка 101.

Это, как правило, решение 97.2% (a) от все Проблемы с SQL-запросом.

Под этим я имею в виду что-то вроде:

cmd.CommandText = "some hideously long and complex statement" 
MessageBox (cmd.CommandText) ' Add this debug line temporarily' 
cmd.ExecuteNonQuery() 

В данном конкретном случае это запятая перед пунктом where.


(а) я просто вытащил эту цифру из эфира. Фактические результаты могут отличаться, но я уверен, это будет исправить больше проблем, чем не это делать :-)

+2

Во всяком случае, ваша фигура слишком низкая. –

Смежные вопросы