Вечер добрый! Суть проблемы такова - пишу программу на C# по взаимодействию с БД MS Access. Делаю это в первый раз, поэтому не знаю как решить проблему. Необходимо вывести значение БД в DataGridView и после изменения занести обратно в БД. Первую часть выполняет отлично, но при нажатии на клавишу "Сохранить изменения" выдает ошибку:
Необработанное исключение типа "System.Data.OleDb.OleDbException" произошло в System.Data.dll Дополнительные сведения: Ошибка синтаксиса в инструкции UPDATE.
Текст программы:
Код | using System; using System.Collections.Generic; using System.ComponentModel;
using System.Data; using System.Data.OleDb; using System.Data.SqlClient;
using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace KasperovichTypography { public partial class SuppliersShowAllFrm : Form { public SuppliersShowAllFrm() { InitializeComponent(); }
OleDbDataAdapter dataAdapter;
// Загрузка Формы; private void SuppliersFrm_Load(object sender, EventArgs e) { // Формируем запрос к базе данных – string sql = "SELECT * FROM Supplier"; string connectionString; // DataTable сохраняет данные в памяти как таблицу DataTable dataTable = new DataTable(); //Связывание с базой данных Access 2003 – *.mdb connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=datatabels.mdb"; OleDbConnection connection = new OleDbConnection(connectionString); connection.Open(); OleDbCommand OleDbCommand = new OleDbCommand(sql, connection); dataAdapter = new OleDbDataAdapter(OleDbCommand); //Создаем построитель команд //Для адаптера становится доступной команда Update OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter); // Данные из адаптера поступают в DataTable dataAdapter.Fill(dataTable); // Связываем данные с элементом DataGridView dataGridView.DataSource = dataTable; // Очистка connection.Close(); }
// Кнопка "Применить изменения"; private void BtnSaveSuppliers_Click(object sender, EventArgs e) { try { dataAdapter.Update((DataTable)dataGridView.DataSource); MessageBox.Show("Изменения в базе данных выполнены!", "Уведомление о результатах", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception) { MessageBox.Show("Изменения в базе данных выполнить не удалось!", "Уведомление о результатах", MessageBoxButtons.OK, MessageBoxIcon.Error); }
} } }
|
Помогите решить проблему! Спасибо. |