Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/14: Рейтинг темы: голосов - 14, средняя оценка - 4.50
84 / 84 / 19
Регистрация: 17.12.2007
Сообщений: 574
1

Как передавать изменения в БД (редактирую данные через грид)?

23.11.2009, 16:56. Показов 2839. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!

вот так конекчусь к базе

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
31
32
33
34
public partial class main_f : Form
    {
 
        OleDbCommand command = new OleDbCommand();
        OleDbDataAdapter adapter;
        DataSet datasetFirst = new DataSet();
 
        public main_f()
        {
            InitializeComponent();
            OleDbConnection connect = new OleDbConnection();
            String PathToExe = Application.StartupPath;
            connect.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" + PathToExe + "/DMBase.mdb";
            connect.Open();
            
           
            
            command.CommandText = "SELECT * FROM users";
            command.Connection = connect;
            adapter = new OleDbDataAdapter(command);
            adapter.Fill(datasetFirst);
            dataGridViewMain.DataSource = datasetFirst.Tables[0];
 
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //command.CommandText = "SELECT * FROM users";
            //Binding Binding = new Binding( );
            adapter.Update(datasetFirst);  // всяческие попытки сохранить ((((
            //this.adapter.Update(this.dataSet, "[table]");
        }
    }
в гриде я вижу данные и могу их редактировать.
Вопрос как передать в бд изменения????

и на какое событие грида лучше их подвесить, чтоб юзер не нажимал кнопку сохранить, а чтоб само сохранялось?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2009, 16:56
Ответы с готовыми решениями:

Как передавать данные через USB
Цель заключается в том, чтобы на компьютере вводилось число, которое потом отображается на телефоне...

Как передавать данные через серийный порт?
Здравствуйте, столкнулся с проблеммой, начал копать и понял что не знаю азов пользования Ардуино....

Через что лучше передавать данные?
Добрый день интересует такой вопрос, через какой способ лучше передавать текстовые файлы в c#?...

Передавать данные через WinSock серверу 10 раз в секунду
Пишу в Borland C++ Builder 6. Есть клиент он отправляет серверу данные через UDP протокол с...

9
73 / 70 / 12
Регистрация: 01.11.2009
Сообщений: 246
23.11.2009, 17:26 2
в датасете нужно добавить UpdteCommand
и проще делать через готовые компоненты в тулбоксе
1
84 / 84 / 19
Регистрация: 17.12.2007
Сообщений: 574
24.11.2009, 18:41  [ТС] 3
Цитата Сообщение от GodNob Посмотреть сообщение
в датасете нужно добавить UpdteCommand
и проще делать через готовые компоненты в тулбоксе
готовые - не удобно, юзер в гриде что надо сделал и все, его не должно заботить (вперед, назад,сохранить), он все это в гриде делает)
приложение простенькое, этого достаточно.

псб
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
25.11.2009, 02:37 4
Код
DataGridView.CellValidated
?
0
1 / 1 / 0
Регистрация: 20.08.2009
Сообщений: 58
03.12.2009, 18:33 5
Green, а почему, когда я открываю форму, на которой находится DataGridView, событие DataGridView.CellValidated срабатывает при открытии этой формы и только после обработки события открывается вся форма?
Спасибо!

Добавлено через 58 минут
А еще вот так попробовал - тоже не сохраняет!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void ClientsGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            
            DialogResult response = MessageBox.Show("Сохранить строку  ?", "Сохранить строку ?",
                MessageBoxButtons.YesNo);
            if (response == DialogResult.Yes)
            {
                try
                {
                    sequrityDatabaseDataSet1.Clients.Rows[e.RowIndex].AcceptChanges();
                    clientsTableAdapter1.Update(sequrityDatabaseDataSet1.Clients);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Добавление строки невозможно");
 
                    clientsTableAdapter1.Update(sequrityDatabaseDataSet1.Clients);
                }
            }                        
 
        }
0
1 / 1 / 0
Регистрация: 20.08.2009
Сообщений: 58
03.12.2009, 23:27 6
Все разобрался
0
84 / 84 / 19
Регистрация: 17.12.2007
Сообщений: 574
07.12.2009, 14:21  [ТС] 7
Цитата Сообщение от Alexey1 Посмотреть сообщение
Все разобрался
так напиши что было...
0
CEO
Эксперт С++
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
27.12.2009, 04:10 8
Цитата Сообщение от GodNob Посмотреть сообщение
в датасете нужно добавить UpdteCommand
и проще делать через готовые компоненты в тулбоксе
А если без дата сета (через DataTable), то как инициировать обновление таблицы в БД? Ато разобратся никак не могу, а через SqlCommand коряво очень получается. И встроенные процедуры для сервера неохота на все таблицы писать.

Добавлено через 21 минуту
ясно - все вроде понял... там в DataAdapter есть версия и для DataTable, только вот писать процедуры вставки и обновления все равно придется.
0
73 / 70 / 12
Регистрация: 01.11.2009
Сообщений: 246
27.12.2009, 11:59 9
я всегда делал через источник данных - переносил таблицу на форму и готово. Вы делаете по другому. Можете скинуть проект, чтоб хоть глянуть как да что там ?
0
1 / 1 / 0
Регистрация: 20.08.2009
Сообщений: 58
27.12.2009, 17:33 10
GodNob, вот пожалйста!
Вложения
Тип файла: rar AISSolution.rar (874.7 Кб, 80 просмотров)
1
27.12.2009, 17:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2009, 17:33
Помогаю со студенческими работами здесь

Как с DataAdapter'а (который выводит в грид) записать данные в Access
Добрый день форумчане, есть проблема... я считываю данные с ms sql сервера и вывожу их в грид. при...

Как передавать данные?
Здравствуйте. Написал службу, которая через сокет получает данные (несколько переменных double)....

Как передавать данные на CD-ROM?
Друзья помогите!Хочу передалать свой CdWriter - писал на С++ с использованием COM, короче тупо юзаю...

Как передавать данные переменной в таблицу?
Есть вот такой код,здесь переменные $my_refs и $zarabotal2 отвечают за кол-во рефералов...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru