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

Применение технологии ADO для работы с XML-файлами

09.03.2012, 00:01. Просмотров 815. Ответов 7
Метки нет (Все метки)

Всем привет!

В силу обстоятельств пришлось столкнуться и с ADO и с .NET чуть ближе чем хотелось бы.
Прошу помочь решить задачу/ответить на вопрос:
У меня есть табличка на форме и все данные с нее я сохраняю в xml файл, и выгражаю данные в таблицу из xml файла. Мне не нужно иметь базу данных, все данные я храню в xml документе. Можно ли как-то работать по технологии ADO с xml файлами? Т.е. пользоваться всеми плюшками технологии, но работать не с бд, а с xml. Подскажите и направьте, пожалуйста. Если можно с примером.

Заранее благодарю!

Добавлено через 5 часов 53 минуты
Ок, решил работать с DataGridView при помощи ADO и сериализовывать полученные данные в xml объекты. Не подскажите как можно сделать Dictionary <int, string> источником данных DataGridView?
Подскажите, пожалуйста! Единственное место где не могу разобраться.
Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 00:01
Ответы с готовыми решениями:

Организация работы с XML файлами через DataAdapter
Здравствуйте! Не хотелось просить помощи, но время проведенное за чтением книг...

Телефонная книга с использованием технологии ADO .NET
Люди помогите плиз написать прогу &quot;телефонная книга&quot; с использованием баз...

Выбор СУБД для работы на ADO.NET
Очень желательно Embedded. Когда-то работала с Firebird через дельфийского...

Применение entity framework и ADO.NET в различных программах
Приветствую всех. Нужно объяснить простыми и общими словами, на практическом...

Программа для работы с БД, используя ADO.NET ( сервер БД - MS SQL Server), открывать через браузер
Помогите разобраться, я не могу понять как программа должна открываться через...

7
serg42
118 / 100 / 7
Регистрация: 14.02.2010
Сообщений: 263
09.03.2012, 12:26 2
C#
1
2
DataSet.ReadXml()
DataSet.WriteXml()
Куда проще?
0
mr.nothing
1 / 1 / 0
Регистрация: 28.02.2011
Сообщений: 95
09.03.2012, 19:39  [ТС] 3
serg42, моим решением было работать по следующей схеме:
Цитата Сообщение от mr.nothing Посмотреть сообщение
Ок, решил работать с DataGridView при помощи ADO и сериализовывать полученные данные в xml объекты. Не подскажите как можно сделать Dictionary <int, string> источником данных DataGridView?
Подскажите, пожалуйста! Единственное место где не могу разобраться.
Заранее спасибо.
И вопрос соответственно, можно как то привязать Dictionary <int, CustomClass> к DataGridView не read-only способом? т.е. чтобы при изменении значений в GridView менялось значение и в словаре. Если кто-то знает ответ, подскажите пожалуйста.
p.s.
Пробовал так:
C#
1
2
Dictionary <int, CustomClass> dict = new Dictionary <int, CustomClass>();
DataGridView.DataSource = dict.ToArray();
Отображает значения ключей нормально, но объекты отображаются криво... см рисунок. Надо, естественно, чтобы отображались свойства объекта, а не сам объект.
0
Миниатюры
Применение технологии ADO для работы с XML-файлами  
mr.nothing
1 / 1 / 0
Регистрация: 28.02.2011
Сообщений: 95
09.03.2012, 22:54  [ТС] 4
Ок, отказался от Dictionary и перешел к BindingList (говорят на многих форумах, что Dictionary в связке с DataGridView очень не удобно и сложно использовать, а BindingList прямо для этого и предназначен). Но с BindingList не получается даже отобразить что бы то ни было. Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public OrderTableControl()
        {
            InitializeComponent();
            FillTable();
        }
 
        private void FillTable()
        {
           
            OrderTable.AutoGenerateColumns = true;
            BindingSource bs = new BindingSource();
 
            BindingList<OrderClass> bList = new BindingList<OrderClass>();
            OrderClass order1 = new OrderClass(1, "qwerty", 1, 2, "qwe", OrderPriority.Level2);
 
            bList.Add(order1);
 
            bs.DataSource = bList;
 
            OrderTable.DataSource = bs;
            OrderTable.Update();
        }
Подскажите, пожалуйста, что не так делаю?
0
serg42
118 / 100 / 7
Регистрация: 14.02.2010
Сообщений: 263
10.03.2012, 07:47 5
Вы знаете толк в извращениях.
0
mr.nothing
1 / 1 / 0
Регистрация: 28.02.2011
Сообщений: 95
10.03.2012, 11:56  [ТС] 6
Проблема решена. Тему можно закрывать.
serg42, вам отдельное спасибо за капитанские ответы и толстый троллинг.
0
Learx
1046 / 853 / 194
Регистрация: 31.03.2010
Сообщений: 2,490
10.03.2012, 20:41 7
Цитата Сообщение от msdn
Класс DataGridView поддерживает стандартную модель Windows Forms привязки данных. Это означает, что источник данных может быть любого типа, который реализует один из следующих интерфейсов:

Интерфейс IList, включающий одномерные массивы.

Интерфейс IListSource, такой как классы DataTable и DataSet.

Интерфейс IBindingList, такой как класс BindingList(Of T).

Интерфейс IBindingListView, такой как класс BindingSource.
лично я бы организовал хранение данных в типе, который соответствует требованиеям и потом бы выполнял сериализацию в файл и все.

и Ado.NET к этому не имеет никакого отношения. он как раз и нужен только для подключения к базам данных.
0
mr.nothing
1 / 1 / 0
Регистрация: 28.02.2011
Сообщений: 95
10.03.2012, 21:19  [ТС] 8
Learx, В том то и дело, что при использовании, например, List, вместо BindingList, двусторонней привязки осуществлено не будет. Т.е. при изменении коллекции изменений в контроле вы не увидите, насколько я понял всю эту кухню.
0
10.03.2012, 21:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 21:19

Приложение для работы с xml и с MSSQL
2) приложение для работы с xml и с MSSQL, которое умеет: выбирать файл и...

Посоветуйте книги о разработке ПО для работы с файлами удаленного узла на C#
Пожалуйста, посоветуйте книги: язык программирования: C# темы...

Оптимизация I/O операций для работы с большими текстовыми файлами (1Гб+)
Доброго времени суток. Подскажите каким образом можно оптимизировать I/O...


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

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

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