Ошибка синтаксиса в инструкции UPDATE в запросе на обновление таблицы
private void button3_Click(object sender, EventArgs e)
{
//Обновить
//Проверим количество выбранных строк
if (dataGridView1.SelectedRows.Count != 1)
{
MessageBox.Show("Выберите одну строку!", "Внимание!");
return;
}
//Запомним выбранную строку
int index = dataGridView1.SelectedRows[0].Index;
//Проверим данные в таблицы
if (dataGridView1.Rows[index].Cells[0].Value == null ||
dataGridView1.Rows[index].Cells[1].Value == null ||
dataGridView1.Rows[index].Cells[2].Value == null ||
dataGridView1.Rows[index].Cells[3].Value == null ||
dataGridView1.Rows[index].Cells[4].Value == null ||
dataGridView1.Rows[index].Cells[5].Value == null)
{
MessageBox.Show("Не все данные введены!", "Внимание!");
return;
}
//Считаем данные
string Cod = dataGridView1.Rows[index].Cells[0].Value.ToString();
string Title = dataGridView1.Rows[index].Cells[1].Value.ToString();
string Index = dataGridView1.Rows[index].Cells[2].Value.ToString();
string Description = dataGridView1.Rows[index].Cells[3].Value.ToString();
string ChemicalClass = dataGridView1.Rows[index].Cells[4].Value.ToString();
string Price = dataGridView1.Rows[index].Cells[5].Value.ToString();
//Создаем соеденение
string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database.mdb";//строка соеденения
OleDbConnection dbConnection = new OleDbConnection(connectionString);//создаем соеденение
//Выполянем запрос к БД
dbConnection.Open();//открываем соеденение
string query = "UPDATE [Pigments] SET Title= '" + Title + "', Index ='" + Index + "', Description ='" + Description + "', ChemicalClass ='" + ChemicalClass + "', Price ='" + Price + "', Cod ='" + Cod + "'";//строка запроса
OleDbCommand dbCommand = new OleDbCommand(query, dbConnection);//команда
//Выполняем запрос
if (dbCommand.ExecuteNonQuery() != 1)
Источник: Stack Overflow на русском