Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2012, 01:14   #1
jonkaspar2008
Новичок
Джуниор
 
Регистрация: 10.03.2012
Сообщений: 2
По умолчанию DataGridView и С#

Вечер добрый! Суть проблемы такова - пишу программу на C# по взаимодействию с БД MS Access. Делаю это в первый раз, поэтому не знаю как решить проблему. Необходимо вывести значение БД в DataGridView и после изменения занести обратно в БД. Первую часть выполняет отлично, но при нажатии на клавишу "Сохранить изменения" выдает ошибку:

Необработанное исключение типа "System.Data.OleDb.OleDbExcepti on" произошло в 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);
            }


        }
    }
}
Помогите решить проблему! Спасибо.
jonkaspar2008 вне форума Ответить с цитированием
Старый 10.03.2012, 12:32   #2
sergei64_89
Форумчанин
 
Регистрация: 20.04.2008
Сообщений: 139
По умолчанию

это не делфи,тут надо самому прописывать update в adapter
sergei64_89 вне форума Ответить с цитированием
Старый 10.03.2012, 16:06   #3
jonkaspar2008
Новичок
Джуниор
 
Регистрация: 10.03.2012
Сообщений: 2
По умолчанию

можете чуть поподробнее пояснить)
jonkaspar2008 вне форума Ответить с цитированием
Старый 10.03.2012, 22:47   #4
sergei64_89
Форумчанин
 
Регистрация: 20.04.2008
Сообщений: 139
По умолчанию

http://msdn.microsoft.com/ru-ru/libr...tecommand.aspx
sergei64_89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# DataGridView Sanuch89 Помощь студентам 2 04.08.2011 12:52
DataGridView lkjuio Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 1 07.01.2011 21:27
DataGridView Dimarik Общие вопросы .NET 2 03.05.2010 15:55
DataGridView serenu Помощь студентам 1 15.04.2010 21:40
C#, datagridview Studento4ka Помощь студентам 0 21.11.2009 13:34