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

Запись из DataTable в файл

03.07.2018, 21:37. Показов 2601. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.
Программа должна открывать DBF файл и выводить содержимое в DataGridView. Это я реализовал, также связал данные в DataGridView и DataTable. Код ниже.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 // Открытие файла
        private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FileInfo fi = GetFileNameAndPath();
            string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fi.DBF_file_path + ";Extended Properties=dBASE IV;User ID=Admin;Password=";
            OleDbConnection conn = new OleDbConnection(connString);
            conn.Open();
 
            using (OleDbConnection oleDbConnection = new OleDbConnection())
            {
                oleDbConnection.ConnectionString = connString;
                OleDbCommand oleDbCommand = new OleDbCommand();
                oleDbCommand.CommandText = "SELECT * FROM [" + fi.DBF_name_only + "]"; 
                oleDbCommand.Connection = oleDbConnection;
                da = new OleDbDataAdapter(oleDbCommand);
                dt = new DataTable();
                da.Fill(dt); 
                ConvertMe();
                bs = new BindingSource();
                bs.DataSource = dt;
                dataGridView1.DataSource = bs;
            }
        }
Далее я меняю записи в DataGridView и сохраняю изменения в файле. Для сохранения использую Spire.DataExport.
C#
1
2
3
4
5
6
7
8
9
10
11
private void сохранитьКакToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog SF = new SaveFileDialog();
            SF.ShowDialog();
            Spire.DataExport.DBF.DBFExport DBFExport = new Spire.DataExport.DBF.DBFExport();
            DBFExport.DataSource = Spire.DataExport.Common.ExportSource.DataTable;
            DBFExport.DataTable = dt;
            DBFExport.ActionAfterExport = Spire.DataExport.Common.ActionType.OpenView;
            DBFExport.FileName = SF.FileName + ".dbf";
            DBFExport.SaveToFile();
        }
Если просто изменить данные или добавить строки, всё работает прекрасно. Проблемы возникают, если удалить строки из таблицы. Последняя строка выбрасывает ошибку: "Невозможно получить доступ к удаленной информации строки через данную строку.
TextExport::SaveToFile,var:"
Помогите решить проблему. Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2018, 21:37
Ответы с готовыми решениями:

Запись из DataTable в файл Excel'я
SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "Excel...

Запись из DataTable
object obj = table.Rows; table - DataTable компилятор выдаёт "Внедренный оператор не может быть...

Запись из datatable в sql server
Здравствуйте. У меня имеется БД sql server 2012. В ней есть таблица с такими полями: . И есть...

Запись столбцов DataGridView в DataTable
Доброго времени суток! Пытаюсь воспользоваться вот этим примером, но в немного изменённых...

1
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
04.07.2018, 09:25 2
Лучший ответ Сообщение было отмечено 0Steiner как решение

Решение

C#
1
dt.AcceptChanges()
до сохранения.
И, если не знаете что такое байндинг - не пользуйтесь. То, что сейчас - фуфуфу. Лишние ресурсы памяти, и толку 0.
1
04.07.2018, 09:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.07.2018, 09:25
Помогаю со студенческими работами здесь

Запись данных из DataTable в Access
Добрый день! Товарищи, прошу помощи: Решаю следующую задачу: Необходимо программно вытащить...

Запись в БД MySQL экземпляра DataTable
У меня есть экземпляр класса DataTable, можно ли его напрямую записать в БД или по ячейкам...

Как удалить запись из DataTable?
Как удалить запись из DataTable. Как её тупо удалить. DataRow.Delete(); DataAdapter.Update()...

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

Запись и обновление данных в DataTable из BackgroudWorker
В классе главной формы есть таблица DataTable. В процессе работы запускается несколько...

Запись значений столбца DataTable в ListBox и ComboBox
Просьба подсказать как записать значения всех ячеек из одного столбца дататбле в листбокс и...


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

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