2015-03-06 2 views
0

Я хочу, чтобы обновить весь выбранный тот же столбец с другим значением ...Как обновить весь выделенный столбец?

Heres код я пытался, по-видимому, он не работает (ошибка нет изменений в БД)

OleDbConnection con = new OleDbConnection(); 
     con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Rock.accdb"; 
     OleDbCommand cmd = new OleDbCommand(); 
     cmd.Connection = con; 
     con.Open(); 
     cmd.CommandText = "UPDATE profile SET [year][email protected] WHERE [year][email protected]"; 
     cmd.Parameters.AddWithValue("@1", comboBox1.Text); 
     cmd.Parameters.AddWithValue("@2", comboBox2.Text); 
     cmd.ExecuteNonQuery(); 
     con.Close(); 
     label4.Text = "Updated successfully"; 
     label4.ForeColor = Color.Green; 

Пожалуйста быть почтительным, если вы, ребята, есть какие-либо сомнения, просто комментарий ...

+0

Я предполагаю, что ваша строка подключения неверна. Проверьте его в файле конфигурации, и кажется, что ваш запрос 'UPDATE' не подходит – BNN

+0

Возможно, вы должны пометить свой вопрос« ole »и удалить тег Visual Studio - ваша проблема, по-видимому, не имеет ничего общего с Visual Studio. – RenniePet

+0

ОК, я сделаю это ... но @NadeemKhan вы меня не поняли ... все идеально ... кроме запроса ... если вы, ребята, поняли, что тогда это будет заметно ... –

ответ

0

попробовать:

cmd.CommandText = "UPDATE profile SET [year]=? WHERE [year]=?" 

и изменение параметров (параметры должны быть ADDE d в порядке '?' s в запросе)

cmd.Parameters.AddWithValue("?", comboBox1.Text); 
cmd.Parameters.AddWithValue("?", comboBox2.Text); 
+0

это ошибка, я получаю «OleDbParameterCollection принимает только ненулевые объекты типа OleDbParameter, а не объекты String». –

+0

i обновил ответ, попробуйте с AddWithValue и используйте «?» как имя параметра –

+0

Это работает bro ... thanks –

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