Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 10.05.2013
Сообщений: 14

Сохранение в бд данных загруженных из Excel в DataGriView

23.04.2017, 14:59. Показов 807. Ответов 2

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Прошу прощения, если я не в тот раздел написал.Такая проблема: реализована загрузка данных из файла xml в datagridview, но загрузить из dgv в базу данных не получается.Может кто помочь?
Код загрузки и сохранения из xml:
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
35
36
37
38
39
40
41
42
43
OpenFileDialog ofdXLSImp = new OpenFileDialog();
            ofdXLSImp.Filter = "Файл Excel|*.XLSX;*.XLS";
            ofdXLSImp.Title = "Выберите файл для импорта";
            if (ofdXLSImp.ShowDialog() == DialogResult.OK)
            {
                InOutProps.xlFileName = ofdXLSImp.FileName;
            }
            ExcelObj.Application ExcApp = new ExcelObj.Application();
            ExcelObj.Workbook ExcWorkbook;
            ExcelObj.Worksheet NwSheet;
            ExcelObj.Range ShtRange;
            ExcWorkbook = ExcApp.Workbooks.Open(InOutProps.xlFileName);
            NwSheet = (ExcelObj.Worksheet)ExcWorkbook.Sheets.get_Item(1);
            ShtRange = NwSheet.UsedRange;
            dgvShowDb.DataSource = tblBindingSource;
            string strShowDB = "select * from [" + InOutProps.DBName + "].[" + lblUsrTbl.Text + "]";        
            string GetDataConn = Utility.GetConnectionString();
            dataAdapter = new SqlDataAdapter(strShowDB, GetDataConn);
            SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
            DataTable table = new DataTable();
            dataAdapter.Fill(table);
            for (int Rnum = 1; Rnum <= ShtRange.Rows.Count; Rnum++)
            {
                DataRow dRow = table.NewRow();
                for(int Cnum = 1; Cnum <= ShtRange.Columns.Count; Cnum++)
                {
                    if ((ShtRange.Cells[Rnum, Cnum] as ExcelObj.Range).Value2 != null)
                    {
                        dRow[Cnum] = (ShtRange.Cells[Rnum, Cnum] as ExcelObj.Range).Value2.ToString();
                    }
                }
                table.Rows.Add(dRow);
                table.AcceptChanges();
            }
            ExcApp.Quit();
            tblBindingSource.DataSource = table;
            dataAdapter.InsertCommand = new SqlCommand("Insert into [" + InOutProps.DBName + "].[" + lblUsrTbl.Text + "] (QrCode, Name, NumInStash, GoodDesc ) values (@QrCode , @Name, @NumInStash, @GoodDesc)");
            dataAdapter.InsertCommand.Parameters.Add("@QrCode", SqlDbType.Int, 10, "QrCode");
            dataAdapter.InsertCommand.Parameters.Add("@Name", SqlDbType.NVarChar, 30, "Name");
            dataAdapter.InsertCommand.Parameters.Add("@NumInStash", SqlDbType.Int, 10, "NumInStash");
            dataAdapter.InsertCommand.Parameters.Add("@GoodDesc", SqlDbType.NVarChar, 200, "GoodDesc");
            dgvShowDb.AutoResizeColumns();
            dataAdapter.Update((DataTable)tblBindingSource.DataSource);
При том что если я данные в dgv ввожу ручками, то все спокойно сохраняется. Код простого сохранения:
C#
1
2
string strReload = "Select * from [" + InOutProps.DBName + "].[" + lblUsrTbl.Text+"]";
            dataAdapter.Update((DataTable)tblBindingSource.DataSource);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2017, 14:59
Ответы с готовыми решениями:

Не могу сделать правильный вывод данных в Datagriview
Здравствуйте, я не могу реализовать правильный вывод данных из list в Gridview. Код листа public List&lt;string&gt; Act() { ...

Печать данных из dataGriView
Всем привет! Код: private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { ...

Сохранение данных в MS Excel
Добрый день. Сохраняю данные в Эксель по данному алгоритму: D.Workbooks.open(Application.StartupPath &amp; &quot;\1.xlsx&quot;) ...

2
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 3
24.04.2017, 11:37
Советую покапать в сторону офицального сайта майкросовт с темой LINQ 2 DB
Код сохранения гридвюхи можешь показать
0
0 / 0 / 1
Регистрация: 10.05.2013
Сообщений: 14
24.04.2017, 13:22  [ТС]
SevarJer, вот все что есть связанное с dgv. Загрузка из бд:
C#
1
2
3
4
5
6
7
8
9
10
private SqlDataAdapter dataAdapter = new SqlDataAdapter();
        private BindingSource tblBindingSource = new BindingSource();
string GetDataConn = Utility.GetConnectionString();
string selectCommand = "Select * from [" + InOutProps.DBName + "].[" + lblUsrTbl.Text+"]";
                dataAdapter = new SqlDataAdapter(selectCommand, GetDataConn);
                SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
                DataTable table = new DataTable();
                dataAdapter.Fill(table);
                tblBindingSource.DataSource = table;
                dgvShowDb.AutoResizeColumns();
А сохранение идет так:
C#
1
dataAdapter.Update((DataTable)tblBindingSource.DataSource);
При том, что я у адаптера не задавал никаких функций insert, update, delete и и сохраняется вроде нормально. Саму функцию insert добавил после добавления функции импорта из экселя в надежде что поможет. Может может с ней не так что сделал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2017, 13:22
Помогаю со студенческими работами здесь

Сохранение данных из Excel
Добрый день, возможно не правильно обозвал тему, но как по другому ее назвать, даже не знаю) Есть файл эксель, в нем два листа,...

Сохранение данных в Excel.
Приветствую! В общем задача такая. Необходимо сохранить несколько значений из программы (WinForms C#) в документ Excel. Т.е. несколько...

Сохранение данных в excel
Здравствуйте, такая проблемка, не могу нормально сохранять данные в эксель, а именно, хочу самостоятельно вбивать название файла, а ещё, не...

Сохранение данных в excel
всем привет, не могу разобрать в olecontainer подключил exel, вывожу туда данные и сохраняю файл вот код DM.SQL.Close; ...

Сохранение данных в excel
Здравствуйте, вот такая проблемка, можно ли сохранить массивы данных в одном экселевском файле и как это сделать ? У меня есть 4...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru