Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Где хранить Базу Данных и как ее реализовать? Помогите новичку с проектом (учебным) 
V
    Опции темы
ivashkanet
  Дата 5.3.2006, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149





Придумал для себя учебный проект -- диагностика успеваемости в школе.
(После распределения работаю в школе)

Задача, примерно, такая:
1. Сохранить информацию об оценках учеников. Количество 1, 2 - 10 по предметам в каждой четверти в каждом классе.
2. Производить всевозможные выборки из базы.
3. Естественно, удобный пользовательский интерфейс.

По мере накопления знаний об .NET развивалась и концепция приложения.
Было все так:

1 Этап (начало изучения)
В универе баловался Perl+MySQL, поэтому первой релизацией была база данных на
MS SQL Serve
r. Вроде все меня в ней устраивало. Кроме одного -- приходилось тягать
за собой SQL Server (это не считаая Framework-а). Да и вообще, база то будет
записей на 1000, максимум 10 000. Зачем мне такай монстр как SQL Server.
(Вот на Перле база постояно росла из другого приложения (1 запись в 15 сек). Там понятно, без внешней базы не обойтись).

2 Этап Нашел, благодаря Винграду, классную книжку по C# (http://www.intuit.ru/department/pl/csharp/).
После ее прочтения появилась новая концепция -- класс и сериализация объекта.
Структура класса, упрощенно, такая:
Код

Учебный год
|--Имя года
|--Классы (хеш-массив)
     |--Класс1
     |     |--Количество учеников
     |     |--Предметы (хеш-массив)
     |           |--Предмет1
     |           |      |--1 четверть (массив количества отметок)
     |           |      |--2 четверть (--//--)
     |           |      |--3 четверть (--//--)
     |           |      |--4 четверть (--//--)
     |           |      |--Год (--//--)
     |           |--Предмет2
     |           |--*
     |--Класс2
     |--*


Реальная структура чуть сложнее. Есть данные о учителях и связи Учитель--Предмет, Учитель--класс...

Показать ее в TreeView несложно. Вот и появился неплохой доступ к данным.
Стал укладывать ее в DataGridView, и начались проблемы:
Где у него коллекция элементов, как добавить строку..? И можно ли обойтись без DataSet.


Так вот, конкретные вопросы:
1. Главный. Возможен ли аналог сериализации, но в само приложение, в ресурсы?
2. Как добраться до внутренности DataGridView. (Неужели только через DataSet?)
3. Если 2) только через DataSet, то можно ли работать с ним на SQL запросах? (Без внешней базы).

Пока все. Жду ответов.

smile Для модераторов: Ничего общего с ADO.NET, не переносите, пожалуйста, тему!!!!


Это сообщение отредактировал(а) ivashkanet - 5.3.2006, 14:18
PM MAIL WWW ICQ   Вверх
Exception
Дата 5.3.2006, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата(ivashkanet @ 5.3.2006, 15:15 Найти цитируемый пост)
Если 2) только через DataSet, то можно ли работать с ним на SQL запросах? (Без внешней базы).

LINQ рулит. Пишу статью о нём, потом почитаешь...
PM   Вверх
ivashkanet
Дата 5.3.2006, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Exception, а мне сейчас надо!!! smile
Можно хоть намек или ссылку, плиз.
PM MAIL WWW ICQ   Вверх
arilou
Дата 6.3.2006, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61





--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Exception
Дата 6.3.2006, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Привет, народ smile . Заодно вопрос по поводу статьи. Поскольку я взялся переводить и дополнять примерами все Overview (LINQ Project Overview, DLinq Overview и XLinq Overview), возник вопрос: что переводить сначала - DLinq или XLinq? Как только я доделаю про обычный LINQ, сразу эту часть выложу. А потом что выкладывать?
PM   Вверх
mr.DUDA
Дата 6.3.2006, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Exception, smile !

ivashkanet, одна тема - один вопрос !

1) В EXE'шник без извратов ничего не запишешь. Тем более в исполняющийся. Тем более в .NET'овский (разве что постоянно перекомпилировать его smile). Да и незачем. Почему бы не хранить данные в XML ? Сериализация в XML-файл решит все твои проблемы, имхо (получится что-то типа нереляционной БД).
2) У DataGridView нет "внутренностей" (собственно данные хранятся где-то ещё, а View только отображает их).
3) Можно. Посмотри метод DataTable.Select, там довольно богатые возможности (разве что JOIN'ов нет). Ещё советую копнуть в сторону DataRelation, если требуется наличие связей между записями. А вообще, проще имхо сделать на объектах и сериализовать в XML (как в п.1).


--------------------
user posted image
PM MAIL WWW   Вверх
-ser-
Дата 7.3.2006, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: 5
Всего: 13



mr.DUDA как всегда дело говорит. по поводу XML не могу не согласиться. самый оптимальный вариант.
более того, я бы советовал зайти в студийный хелп по индексу
Цитата

DataGridView Control sample [Windows Forms]

там пример работы DataGridView и XML. ну прямо готовое решение один в один твоей задачи. осталось разобраться с ним.



--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
ivashkanet
Дата 7.3.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Спасибо, mr.DUDA и -ser-.

У меня сначала то же была идея с XML-базой, но я не нашел XmlDataAdapter.

А тут оказыается он и не надо (его скорее всего и нет для WinForms). Все зашито в DataSet (.ReadXml и .WriteXml).
Еще раз, спасибо, буду пробовать smile
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 7.3.2006, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



P.S.
XMLDataSource есть в .NET 2.0 ! smile


--------------------
user posted image
PM MAIL WWW   Вверх
ivashkanet
Дата 8.3.2006, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(mr.DUDA @ 7.3.2006, 21:28 Найти цитируемый пост)
P.S.
XMLDataSource есть в .NET 2.0 !


Это Web-компонент System.Web.UI.WebControls.XmlDataSource, а для Win я его не нашел. Хотя есть целый нэймспэйс System.Xml, может там есть что-то ?
PM MAIL WWW ICQ   Вверх
-ser-
Дата 9.3.2006, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: 5
Всего: 13



Цитата(ivashkanet @ 7.3.2006, 21:04 Найти цитируемый пост)
но я не нашел XmlDataAdapter. Все зашито в DataSet (.ReadXml и .WriteXml).

приказываю все забыть. XmlDataAdapter в 2.0 уже не нужен.

в 2.0 уже и DataSet и DataTable имеют все что нам необходимо, а именно
ReadXml
ReadXmlSchema
WriteXml
WriteXmlSchema
причем, как я уже упоминал, и DataSet для твоей задачи не нужен. достаточно DataTable. завидую я вам, тем кто начинает.


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.