![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Придумал для себя учебный проект -- диагностика успеваемости в школе. (После распределения работаю в школе) Задача, примерно, такая: 1. Сохранить информацию об оценках учеников. Количество 1, 2 - 10 по предметам в каждой четверти в каждом классе. 2. Производить всевозможные выборки из базы. 3. Естественно, удобный пользовательский интерфейс. По мере накопления знаний об .NET развивалась и концепция приложения. Было все так: 1 Этап (начало изучения) В универе баловался Perl+MySQL, поэтому первой релизацией была база данных на MS SQL Server. Вроде все меня в ней устраивало. Кроме одного -- приходилось тягать за собой SQL Server (это не считаая Framework-а). Да и вообще, база то будет записей на 1000, максимум 10 000. Зачем мне такай монстр как SQL Server. (Вот на Перле база постояно росла из другого приложения (1 запись в 15 сек). Там понятно, без внешней базы не обойтись). 2 Этап Нашел, благодаря Винграду, классную книжку по C# (http://www.intuit.ru/department/pl/csharp/). После ее прочтения появилась новая концепция -- класс и сериализация объекта. Структура класса, упрощенно, такая:
Реальная структура чуть сложнее. Есть данные о учителях и связи Учитель--Предмет, Учитель--класс... Показать ее в TreeView несложно. Вот и появился неплохой доступ к данным. Стал укладывать ее в DataGridView, и начались проблемы: Где у него коллекция элементов, как добавить строку..? И можно ли обойтись без DataSet. Так вот, конкретные вопросы: 1. Главный. Возможен ли аналог сериализации, но в само приложение, в ресурсы? 2. Как добраться до внутренности DataGridView. (Неужели только через DataSet?) 3. Если 2) только через DataSet, то можно ли работать с ним на SQL запросах? (Без внешней базы). Пока все. Жду ответов. Это сообщение отредактировал(а) ivashkanet - 5.3.2006, 14:18 |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
||||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Exception, а мне сейчас надо!!!
Можно хоть намек или ссылку, плиз. |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
||||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Привет, народ
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Exception,
ivashkanet, одна тема - один вопрос ! 1) В EXE'шник без извратов ничего не запишешь. Тем более в исполняющийся. Тем более в .NET'овский (разве что постоянно перекомпилировать его 2) У DataGridView нет "внутренностей" (собственно данные хранятся где-то ещё, а View только отображает их). 3) Можно. Посмотри метод DataTable.Select, там довольно богатые возможности (разве что JOIN'ов нет). Ещё советую копнуть в сторону DataRelation, если требуется наличие связей между записями. А вообще, проще имхо сделать на объектах и сериализовать в XML (как в п.1). -------------------- ![]() |
|||
|
||||
| -ser- |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 5 Всего: 13 |
mr.DUDA как всегда дело говорит. по поводу XML не могу не согласиться. самый оптимальный вариант.
более того, я бы советовал зайти в студийный хелп по индексу
там пример работы DataGridView и XML. ну прямо готовое решение один в один твоей задачи. осталось разобраться с ним. -------------------- "Тонкая, однако, работа." |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Спасибо, mr.DUDA и -ser-.
У меня сначала то же была идея с XML-базой, но я не нашел XmlDataAdapter. А тут оказыается он и не надо (его скорее всего и нет для WinForms). Все зашито в DataSet (.ReadXml и .WriteXml). Еще раз, спасибо, буду пробовать |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
P.S.
XMLDataSource есть в .NET 2.0 ! -------------------- ![]() |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Это Web-компонент System.Web.UI.WebControls.XmlDataSource, а для Win я его не нашел. Хотя есть целый нэймспэйс System.Xml, может там есть что-то ? |
|||
|
||||
| -ser- |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 5 Всего: 13 |
приказываю все забыть. XmlDataAdapter в 2.0 уже не нужен. в 2.0 уже и DataSet и DataTable имеют все что нам необходимо, а именно ReadXml ReadXmlSchema WriteXml WriteXmlSchema причем, как я уже упоминал, и DataSet для твоей задачи не нужен. достаточно DataTable. завидую я вам, тем кто начинает. -------------------- "Тонкая, однако, работа." |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |