Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
1

Не обновляются данные

03.03.2015, 10:18. Просмотров 1257. Ответов 35
Метки нет (Все метки)

К проекту прикреплена ms access.

Есть две формочки.

Форма1: Авторизация пользователей - берет все записи из бд и в комбобоксе выводит
Форма2: Регистрация - по нажатию на кнопку добавляет запись в бд.


Вот так вот добавляю запись:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
        private void button1_Click(object sender, EventArgs e)
        {
            
 
            try
            {
                string szConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/users/валера/documents/visual studio 2012/Projects/TestGenerator/TestGenerator/base.mdb";
                OleDbConnection MyConnect = new OleDbConnection(szConnection);
 
                OleDbCommand MyCommand = MyConnect.CreateCommand();// = MyConnect.CreateCommand();
 
                MyCommand.CommandText = 
                "INSERT INTO Student (StudentName, GroupID, StudentPassword) VALUES" +
                " ( ' " + textBox1.Text + " ' ," +
                  comboBox1.SelectedValue + "  ," +
                " ' " + textBox3.Text + " ' )";
 
                MyConnect.Open();
                MyCommand.ExecuteNonQuery();
                MyConnect.Close();//MessageBox.Show("Подключено!!!");
           
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
В базу корректно добавляется запись, но при закрытии формы в первой форме в комбобоксе данные не обновляются...

C#
1
2
3
4
5
6
7
8
9
10
11
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "baseDataSet.Teacher". При необходимости она может быть перемещена или удалена.
            this.teacherTableAdapter.Fill(this.baseDataSet.Teacher);
           
            // TODO: данная строка кода позволяет загрузить данные в таблицу "baseDataSet.Group". При необходимости она может быть перемещена или удалена.
            this.groupTableAdapter.Fill(this.baseDataSet.Group);
          
            // TODO: данная строка кода позволяет загрузить данные в таблицу "baseDataSet.Student". При необходимости она может быть перемещена или удалена.
            this.studentTableAdapter.Fill(this.baseDataSet.Student);
}
Чтобы обновились данные нужно перезапускать программу.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2015, 10:18
Ответы с готовыми решениями:

Не обновляются/добавляются данные данные через клиент
привет форумчане,не обновляются данные через клиент при нажатии на кнопку ничего не происходит...

Не обновляются данные в бд
public void UpdateUser(User user) { OleDbCommand cmd = new OleDbCommand();...

Не обновляются данные dataGridView
Добрый день! Вообщем такая ситуация, есть dataGrideViwe и есть таблица "Menu" (access)....

Mysql и DataGridView: не обновляются данные в БД
Доброго времени суток. Начну с небольшой прелюдии: есть форма, есть DataGridView, по формлоаду...

Не обновляются данные в базе данных
В чем проблема? База данных подключена. При нажатии кнопки button не обновляются данные, а...

35
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 10:33 2

Не по теме:

Цитата Сообщение от __valera__ Посмотреть сообщение
Вот так вот добавляю запись:
Цитата Сообщение от __valera__ Посмотреть сообщение
при закрытии формы в первой форме в комбобоксе данные не обновляются...
Смешались в кучу кони, люди... :D


__valera__, ятд, основная проблема в том, что вы смешали в кучу все вместе - и автосгенерированный дизайнером код, и свой собственный. Естественно, логики в этом нет никакой абсолютно.
Вы определитесь, как вам удобнее, так и делайте. Придерживайтесь однообразия, скажем так. Самому проще будет понимать то что написали.
1
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
03.03.2015, 10:57  [ТС] 3
insite2012, Да вроде бы ничего не смешивал.

НА первой форме я разместил комбобоксы, к ним прикрепил access. Данные нормально берутся.
Далее я создал вторую форму и пошел в гугл спрашивать как добавить запись при нажатии на кнопку, нашел кусок кода, точней много кусков кода и выбрал имеено этот, запихал его на кнопку.

Данные добавляются нормально, но я возвращаюсь на первую форму а там данные не обновились

Собственно может есть добавлине записи какое-то другое? Или что? Я так сказать с нуля это почти все читаю и не понимаю как все устроено, только некоторые моменты интуитивно, если нужно, могу приложить весь проект.

Добавлено через 3 минуты
P.S. если есть какой-то альтернативный вариант и более удобный, то с удовольствием посмотрю на него
0
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 11:01 4
Цитата Сообщение от __valera__ Посмотреть сообщение
вроде бы ничего не смешивал.
Цитата Сообщение от __valera__ Посмотреть сообщение
нашел кусок кода, точней много кусков кода и выбрал имеено этот, запихал его на кнопку.

Цитата Сообщение от __valera__ Посмотреть сообщение
если есть какой-то альтернативный вариант и более удобный
Как я понял, логика там у вас простая, если в течение дня этот вопрос терпит, то сделаю чуть позже пример.
1
03.03.2015, 11:01
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
03.03.2015, 11:02  [ТС] 5
insite2012, было бы замечательно

А может пока какой-нибудь материал мне почитать дадите? Авось сам допру?

Просто делаю работу, на которую дана всего неделя и это только стартовая форма, время не охото терять
0
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 11:10 6
Цитата Сообщение от __valera__ Посмотреть сообщение
какой-нибудь материал мне почитать дадите?
Язык программирования C# 5.0 и платформа .NET 4.5 .Троелсен.Э
Раздел по ADO.NET
1
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 11:14 7
В принципе, что ждать... Вот вполне работоспособный проект (в принципе, это законченная программа, с определенным функционалом). Берите оттуда что вам надо и используйте.
1
Вложения
Тип файла: rar PasSaverProject.rar (616.9 Кб, 19 просмотров)
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
03.03.2015, 11:49  [ТС] 8
insite2012, ужас, сколько непонятного кода.
Я даже там не нашел где подключается база.
Как я понял, там даже нету этой базы, тогда где хранятся данные? Что вообще там происходит.
0
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 12:07 9
Цитата Сообщение от __valera__ Посмотреть сообщение
Как я понял, там даже нету этой базы
Как это нет? Все там есть. База типа SQLite, файл с раширением *.db. И библиотека для работы с данным поставщиком)))

Добавлено через 3 минуты
Цитата Сообщение от __valera__ Посмотреть сообщение
Что вообще там происходит.
Говоря по простому, это программа - сохранялка логинов-паролей (своих, в смысле). У меня много всяких форумов, сайтов, где нужна регистрация. Надоело все данные хранить в текстовом документе, вот и написал программу.
Программа или сама генерирует пароли, или можно ввести свой. все пароли в базе хранятся в зашифрованном виде, так что потеря базы не страшна в плане безопасности. Но это уже мелочи, которые вам не нужны.
1
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
03.03.2015, 13:14  [ТС] 10
insite2012, А пример все таки для access и combobox можно?

т.к. когда я искал информацию о том, как обновить данные из базы, приводились примеры для DataGrid, а у DataAdapter нет таких методов.
0
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 13:17 11
Цитата Сообщение от __valera__ Посмотреть сообщение
пример все таки для access и combobox можно?
Можно, но как я сказал, чуть позже. Пока занят. Вы пока опишите задачу. Ну, что должно присутствовать на форме из контролов, логика взаимодействия и так далее...
0
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
03.03.2015, 13:25  [ТС] 12
insite2012,

Словами трудно будет объяснить.
Приложу весь проект, там сразу поймете что я хочу сделать и что не работает.
0
Вложения
Тип файла: rar TestGenerator.rar (231.7 Кб, 6 просмотров)
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 19:23 13
__valera__, ну вот как-то так, исходя из моего понимания цели вашего проекта. Проще не могу, привык.
1
Вложения
Тип файла: rar Архив WinRAR.rar (77.8 Кб, 5 просмотров)
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
03.03.2015, 19:54  [ТС] 14
insite2012, сижу, втупляю ) пока не легко дается.
Пытаюсь понять что за UserEventArgs, почему в бд всего одна табличка)) и много много других моментов.
Которые просто не понятны.
0
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 19:58 15
Цитата Сообщение от __valera__ Посмотреть сообщение
что за UserEventArgs
Класс для аргумента пользовательского события, наследник EventArgs.
Цитата Сообщение от __valera__ Посмотреть сообщение
почему в бд всего одна табличка
А зачем их там много, это же пример. Основная работа по фильтрации происходит не в БД, а в форме (через LINQ to DataSet). В классе для работы с БД всего два метода - получить всю таблицу и вставить в таблицу одну запись.
Цитата Сообщение от __valera__ Посмотреть сообщение
много много других моментов.
0
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
03.03.2015, 20:08  [ТС] 16
insite2012, просто с моим уровнем знаний в c#
я на это все смотрю и просто в мыслях: "шо это такое".

В этом коде куча куча кода, которого я почти не видел. Ну или видел и не понимал что он делает))

например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public event EventHandler<UserEventArgs> addUserEvent = delegate { };
UserEventArgs args = new UserEventArgs(txtID.Text, txtName.Text, txtPass.Text);
 
namespace LoginRegistration_Project {
    public static class DBOperator {
        private static string DB_NAME = Path.Combine(
            AppDomain.CurrentDomain.BaseDirectory, "Base.mdb");
        private static string CONNECT_STRING = string.Format(
            "Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}", DB_NAME);
 
        public static DataTable GetAllUsers() {
            string selectCmd = "SELECT * FROM [UsersTable]";
            DataTable dt = new DataTable("Users");
            using (OleDbDataAdapter adapter = new OleDbDataAdapter(selectCmd, CONNECT_STRING)) {
                adapter.Fill(dt);
            }
            return dt;
        }
        public static void AddNewUser(string id, string name, string pass) {
            string insertCmd = string.Format("INSERT INTO [UsersTable] VALUES('{0}','{1}','{2}')",
                id, name, pass);
            using (OleDbConnection cnn = new OleDbConnection(CONNECT_STRING)) {
                cnn.Open();
                using (OleDbCommand cmd = new OleDbCommand(insertCmd, cnn)) {
                    cmd.ExecuteNonQuery();
                }
            }
        }
    }
}
Да короче весь код


Цитата Сообщение от insite2012 Посмотреть сообщение
Класс для аргумента пользовательского события, наследник EventArgs.
из этого предложения я понял что это класс какой-то.

Цитата Сообщение от insite2012 Посмотреть сообщение
А зачем их там много, это же пример. Основная работа по фильтрации происходит не в БД, а в форме (через LINQ to DataSet). В классе для работы с БД всего два метода - получить всю таблицу и вставить в таблицу одну запись.
Часто вижу везде в темах слово LINQ, так еще и не знаю что это такое)

P.S. учусь на программиста, последний курс)))
0
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 20:27 17
Цитата Сообщение от __valera__ Посмотреть сообщение
я на это все смотрю и просто в мыслях: "шо это такое".
Я тоже)))(шутка, конечно)
Цитата Сообщение от __valera__ Посмотреть сообщение
видел и не понимал что он делает))
Вам, наверное, все-таки начать бы с самого начала, иначе сложновато будет. Особенно с учетом
Цитата Сообщение от __valera__ Посмотреть сообщение
учусь на программиста
Хм, последний курс, говорите... Это сколько лет вы учитесь? Вас так реально учат или это просто ваше не-желание научиться?)))
Цитата Сообщение от __valera__ Посмотреть сообщение
вижу везде в темах слово LINQ, так еще и не знаю что это такое)
Можете нагуглить. Язык интегрированных запросов. Очень хорошая и удобная штука, с учетом ее применения во многих областях (LINQ to Object, LINQ to Xml, LINQ to DataSet, LINQ to Entities).
0
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
03.03.2015, 20:33  [ТС] 18
insite2012, Времени нет учить все с нуля. После армии займусь самообучением языков, а сейчас у меня диплом

Учусь последний четвертый год, за все это время мы проходили: pascal, delphi, basic, c++, c#, assembler, css, html.
Только по pascal'ю у нас было что-то на подобие обучения, но не долго. А остальные языки просто коснулись, ничего мы не проходили, вот сейчас последний курс, изучаем бухгалтерский учет, экономику и прочую лабуду.
Программирования вообще никак нигде не втыкали почти за все 4 курса. Учеба наоборот не даст изучать все это.
МОжно конечно после учебы сидеть по ночам и изучать все это, но здоровье важней.
0
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2015, 20:40 19
Цитата Сообщение от __valera__ Посмотреть сообщение
Времени нет учить все с нуля.
Ну а как иначе вы планируете написать дипломную работу? Кстати, на какую тему пишете?
Цитата Сообщение от __valera__ Посмотреть сообщение
Учусь последний четвертый год
В принципе, при желании (подчеркиваю, при желании) язык можно довольно не плохо узнать за год (у меня самого опыт шарпа - год с небольшим, самообучение). Так что вот это:
Цитата Сообщение от __valera__ Посмотреть сообщение
Учеба наоборот не даст изучать все это.
Сомнительно. Если есть желание, то это возможно. Не надо много и сразу. Регулярность. Час-полтора в день. Не сильно, да, зато постепенно появятся знания. Не бывает так, что ничего не знал и вдруг раз - и все узнал.
0
__valera__
1 / 1 / 0
Регистрация: 20.12.2014
Сообщений: 72
03.03.2015, 20:54  [ТС] 20
insite2012, да я все понимаю. Желание узнать все есть. Но есть куча разных забот, которые в жизни надо решать. Поэтому как бы времени нету. Ведь когда садишься за программирование, то это процесс не на 30минут, это ты садишься и начинаешь весь интернет себе в голову загружать. Все изучаешься, интерес бесспорно появляется... Но есть другие заботы и поэтому происходит самоограничение, понимаешь, что если ты сейчас займешь этим изучением, то что-то другое упустишь, возможно что-то важней, чем изучение кодинга на данный момент.

Я когда учиться шел, то я думал, что у нас будут предметы и мы будем сидеть и учиться кодить, что преподаватель будет объяснять, учить. Но разочарований было очень много, у нас в принципе не существовало никакого обучения программированию. А давали много всякой фигни. На первых двух курсах мы работали с заполнением бумаг и куча всяких предметов, которые сильно грузили. 3 и 4 курс уже расслабон, т.к. предметов по минимуму. Но курсовая и диплом

Тема диплома очень легкая для реализации опытным человеком
Дословно не помню, но:
"Тестирование студентов" - т.е. следующие элементы:
1). Рега/Авторизация пользователей
2). Модуль Генератор тестов, ну тут все понятно. Преподаватель заходит к себе в учетную запись и начинает клепать тесты, затем сохраняет его в определенную тему.
3). Модуль прохождения тестов, ну тут тоже все понятно. Студент заходит в учетную запись, выбирает предмет, выбирает тест, начинает прохождение.

В конце уже всякие плюшки типо статистик и прочего

Я понимаю что если бы я язык знал, то это все можно сделать без проблем за один день. т.к. весь функционал программы это несколько формочек. А дальше дня за 2-3 уже можно бы было нарастить этот функционал и добавить всяких плюшек. Но увы, пока знаний нет, приходится бродить по интернету и дергать куски кода.

Добавлено через 6 минут
Цитата Сообщение от insite2012 Посмотреть сообщение
Сообщение от __valera__
Времени нет учить все с нуля.
Ну а как иначе вы планируете написать дипломную работу? Кстати, на какую тему пишете?
Ну дипломную работу напишут все В нашей группе программирование понимают буквально 3-4 человека. Все остальные просто посещают занятия и общаются. Чтобы понять, что я не преувеличиваю, большинство из них не сможет написать программу на паскале, которая будет складывать два числа, которые будут вводиться с клавиатуры :-).
0
03.03.2015, 20:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2015, 20:54

Не обновляются данные в ячейке access
Привет всем! Прошу помощи у экспертов. Создаю функцию обновления значений в ячейке базы данных MS...

Не обновляются данные БД mysql (ошибка запроса)
Код формы, которая содержит данные из таблицы тарифы(id,name,cost,validity,description) using...

Запрос к базе в потоке: данные не обновляются в DGV
Столкнулся с проблемой. Вообщем вот код. using System; using System.Collections.Generic; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru