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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2013, 17:07   #1
Daelan
Пользователь
 
Регистрация: 27.11.2012
Сообщений: 10
Вопрос Один навигатор для нескольких таблиц

Всем привет. Первый раз работаю с базами данных, читал и разбирался сколько мог, но до конца не получилось, нуждаюсь в мудром совете
Суть задачи: на форме расположены listBox, dataGrid и навигатор. В listBox содержатся названия таблиц ("Продавцы", "Товары", "Продажи"), при выборе нужного элемента таблица выводится в dataGrid. Не получается привязать к этому делу навигатор, при запуске он как бы активный, но изменения не сохраняются. Что я неправильно делаю
Ниже код.
Глобальные переменные:
Код:
        string conStr = @"Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=db1.mdb";  // строка подключения
        string comText = "";                            // команда запроса
        string table = "";                              // имя выбранной таблицы
        OleDbConnection conn = new OleDbConnection();   
        OleDbCommand myCom = new OleDbCommand();        
        OleDbDataAdapter da = new OleDbDataAdapter();
        DataSet ds = new DataSet();
        BindingSource bs = new BindingSource();
Вывод таблиц:
Код:
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            // из списка выбирается рабочая таблица
            switch (listBox1.SelectedIndex)
            {
                case 0: table = "Продавцы";
                    break;
                case 1: table = "Товары";
                    break;
                case 2: table = "Продажи";
                    break;
            }
            comText = "SELECT * FROM " + table;
            conn.ConnectionString = conStr;                 
            conn.Open();                                    
            myCom.Connection = conn;                       
            myCom.CommandText = comText;                    
            da.SelectCommand = myCom;
            DataTable dt = new DataTable(table);
            da.Fill(dt);
            bs.DataSource = dt;
            bindingNavigator1.BindingSource = bs;
            dataGridView1.DataSource = dt;
            conn.Close();                                   
        }
И отдельно написанная кнопочка сохранения, сомневаюсь в правильности:
Код:
da.Update(ds);

Последний раз редактировалось Daelan; 25.06.2013 в 17:16.
Daelan вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Один BindingNavigator для нескольких Datagridview prod C# (си шарп) 1 26.02.2012 12:50
один код для нескольких картинок yukasey Общие вопросы Delphi 7 12.10.2011 22:49
Макрос для копирования значений из нескольких файлов в один общий с определенным условием копирования zenner Microsoft Office Excel 0 21.03.2011 14:48
Добавление/редактирование из нескольких таблиц, если для отображения используется Query lyle_200490 БД в Delphi 1 28.11.2010 15:02