Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/40: Рейтинг темы: голосов - 40, средняя оценка - 4.98
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024

Как записать таблицу из DataGridView в ms sql?

24.05.2016, 18:05. Показов 7630. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подобных тем на форуме много и не хотелось добавлять еще одну, но точного ответа не нашел, а время работы поджимает. Я считываю данные из таблицы бд ms sql 2008 в DataGridView, затем часть строк изменяю и/или добавляю и то что получилось мне нужно записать обратно в таблицу бд sql. Мне это нужно сделать по нажатию отдельной кнопки, подскажите пожалуйста как это настроить, вод кратко код, эта часть работает нормально, нужна только запись данных.
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
...
 private void button1_Click ( object sender, EventArgs e )
        {
                        comboBox1. SelectedIndex = 0;
                        connection = CreateConnection ();   //подключение к бд
                        command = new OleDbCommand ("Select * From ТО");        //не автоматические размеры на форме в грид
                        command. Connection = connection;
                        adapter = new OleDbDataAdapter (command);
                        dataset = new DataSet ();
                        adapter. Fill (dataset);
                                       //  connection. Close ();
 
                        if (dataset. Tables. Count == 0)
                        {
                            MessageBox. Show ("Ошибка, результат не содежит строк");
                            return;
                        }
                        dataGridView1. AutoGenerateColumns = true;
                        bindingSource. DataSource = dataset. Tables [0];
                        dataGridView1. DataSource = bindingSource;
           
        }
          private void button7_Click ( object sender, EventArgs e )    //добавление записи
        {
 
            dataGridView1. CurrentRow. Cells ["name"]. Value = textBox9. Text;
            dataGridView1. CurrentRow. Cells [1]. Value = textBox8. Text;
          
 
        }
 
...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.05.2016, 18:05
Ответы с готовыми решениями:

Как записать таблицу с форм (DataGridView) в таблицу БД (MS SQL Server)?
вытягиваю данные из БД Код: public ArrayList GetAllDishs() { ArrayList allDishs = new ArrayList(); ...

Как записать таблицу из DataGridView в БД SQL 2008
DGV заполняется с Excel, удаляю не нужные строки, затем нужно эту таблицу записать в Бд SQL

Как сделать таблицу из sql на весь datagridview?
Есть БД - она подключается таким образом: private SqlConnection sqlConnection = null; private SqlDataAdapter...

5
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
24.05.2016, 18:19
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
private void button1_Click ( object sender, EventArgs e )
        {
                        comboBox1. SelectedIndex = 0;
                        connection = CreateConnection ();   //подключение к бд
                        command = new OleDbCommand ("Select * From ТО");        //не автоматические размеры на форме в грид
                        command. Connection = connection;
                        adapter = new OleDbDataAdapter (command);
                        dataset = new DataSet ();
                        OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);
                        connection.Open();
                        adapter. Fill (dataset);
                        connection. Close ();
 
                        if (dataset. Tables. Count == 0)
                        {
                            MessageBox. Show ("Ошибка, результат не содежит строк");
                            return;
                        }
                        dataGridView1. AutoGenerateColumns = true;
                        bindingSource. DataSource = dataset. Tables [0];
                        dataGridView1. DataSource = bindingSource;                       
        }
private void buttonUpdate_Click ( object sender, EventArgs e )
{
       adapter.Update(dataset);
}
1
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
25.05.2016, 08:57  [ТС]
К сожалению это предложение не спасло, программа не ругается, но и не записывает изменения из DCV в бд, похоже что где то чего то не хватает, как например в dataset попадут данныые из DCV, это же разные объекты программы? Может надо еще чего то добавить? Или как то их связать DCV и dataset?
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
25.05.2016, 09:16
Эту строку не забыли добавить?
Цитата Сообщение от Igr_ok Посмотреть сообщение
C#
1
OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);
Цитата Сообщение от седьмой Посмотреть сообщение
как например в dataset попадут данныые из DCV, это же разные объекты программы? Может надо еще чего то добавить? Или как то их связать DCV и dataset?
У вас уже всё связано. Можете почитать теорию
https://msdn.microsoft.com/ru-... 10%29.aspx
Можно еще попробовать вызвать Update так:
C#
1
adapter.Update((DataSet)bindingSource1.DataSource);
1
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
25.05.2016, 09:24  [ТС]
я ее не забыл вставить, я ее не заметил - спасибо огромное, проверю и отпишусь
0
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
01.06.2016, 08:46  [ТС]
Оказалось, все делается проще через класс
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
using System.Data.SqlClient;
...
 connection. ConnectionString = @"Data Source=.\SQLEXPRESS; Initial Catalog=DB; Integrated Security=SSPI";
             try
             {    connection. Open ();    }
             catch
             {
                 MessageBox. Show ("Ошибка соединения с базой данных");
                 return;
             }
 
             SqlCommand cmd = new SqlCommand ("Select * From [Test]", connection);
            
           
           
                
                 using (dr = cmd. ExecuteReader (CommandBehavior. CloseConnection))
                 {
                     bindingSource1. DataSource = dr;   //ДОБАВКА
                     dataGridView1. AutoGenerateColumns = true;  //ДОБАВКА
                     dataGridView1. DataSource = bindingSource1;    //ДОБАВКА
                                        
                 }
...
Не нужно даже предварительно создавать поля в DGV, все данные записываются автоматически, но теперь хочется большего, так одна из таблиц БД имеет текстовое поле неограниченной длины, то мне хотелось бы для этой таблицы данные из bindingSource1 записать не в DGV а в нечто другое, например TextBox это возможно? Или не заморачиваться, а считывать в DGV , предварительно сделав у нее visible-false и потом перекидывать уже вTextBox, в таком варианте мне не нравится что теряется универсальность программы, при изменении структуры таблицы придется править код. В общем хотелось бы узнать куда из bindingSource1 можно перегнать данные? И потом уже подумать, что именно использовать в программе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2016, 08:46
Помогаю со студенческими работами здесь

Как записать содержимое файла в таблицу SQL Server?
Требуется записать файл любого размера в таблицу SQL Server 7.0; подскажите какой тип столбца для этого нужен (подозреваю, что image) и как...

Запись из DataTable (dataGridView) в таблицу SQL
собственно принял попытку сделать сделать помощника для обработки большого числа данных, что хранятся в ексель партянках лет 5 назад...

Данные из Combobox записать в таблицу SQL
Добрый день, я только начинаю учиться в Delphi по этому не судите за вопрос ... Сам вопрос. имеется 3-и Combobox, хочу сделать так...

Записать items из combobox в таблицу sql server
Добрый день. У меня есть форма статуса заказа. На ней куча edit'ов и combobox. В combobox я добавил Items: "Выполняется " и...

Как вывести Excel-таблицу в html и в html таблицу записать данные с БД?
есть у меня excel документ(таблица) , как вывести таблицу в html и в html таблицу записать данные с базы данных


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru