2017-02-16 3 views
0

Не могу решить, в чем проблема, так как дополнительная информация возвращается как: Неправильный синтаксис около '('. Я нужны свежие глаза на это, я не могу увидеть ошибкуSystem.Data.SqlClient.SqlException произошло в System.Data.dll (неправильный синтаксис)

Вот мой код, им пытаются обновить информацию к выбранному owner_id

System.Data.SqlClient.SqlCommand command = new SqlCommand("UPDATE OwnerTable SET (Owner_ID, Owner_Fname, Owner_Lname, Owner_HouseNo, Owner_Street, Owner_County, Owner_PostCode, Owner_Tele, Owner_Email) VALUES (@OwnerID, @OwnerFName, @OwnerLName, @OwnerHouseNo, @OwnerStreet, @OwnerCounty, @OwnerPostCode, @OwnerTele, @OwnerEmail) WHERE Owner_ID = @OwnerID", connection); 

      command.CommandType = CommandType.Text; 
      command.Connection = connection; 

      command.Parameters.AddWithValue("@OwnerID", CB_OWNER_ID.GetItemText(CB_OWNER_ID.SelectedItem)); 

      command.Parameters.AddWithValue("@OwnerFName", TXT_OWNER_FNAME.Text); 
      command.Parameters.AddWithValue("@OwnerLName", TXT_OWNER_LNAME.Text); 
      command.Parameters.AddWithValue("@OwnerHouseNo", TXT_OWNER_HOUSENO.Text); 
      command.Parameters.AddWithValue("@OwnerStreet", TXT_OWNER_STREET.Text); 
      command.Parameters.AddWithValue("@OwnerCounty", TXT_OWNER_COUNTY.Text); 
      command.Parameters.AddWithValue("@OwnerPostCode", TXT_OWNER_POSTCODE.Text); 
      command.Parameters.AddWithValue("@OwnerTele", TXT_OWNER_TELE.Text); 
      command.Parameters.AddWithValue("@OwnerEmail", TXT_OWNER_EMAIL.Text); 
+0

Это 'set a = b, c = d'. –

+0

@PatrickHofman, ANSI SQL имеет 'set (c1, c2) = (v1, v2)', функция T641, «Множественное назначение столбцов». (Поддерживается, по крайней мере, некоторыми поставщиками.) – jarlh

+0

Но OP использует 'values', что неверно @jarlh –

ответ

3

Вы использовали INSERT синтаксис вместо UPDATE синтаксиса..:

UPDATE OwnerTable SET Owner_ID = @OwnerID, Owner_Fname = @OwnerFName ..etc 

Или, если вы действительно хотели вставки новое изменение записи UPDATE в INSERT INTO и удалить WHERE (но я предполагаю, что WHERE означает, что вы хотите обновить).

Btw: вы обязательно обновите OwnerID в OwnerTable? Кажется, неправильно.

+0

Спасибо за это, я полностью перепутался! Вы правы в обновлении в OwnerTable. Я не хочу обновлять идентификатор владельца в таблице владельца. – elszeus

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