Базы данных в Windows
Для хранения выходных данных программы требуется использовать базу данных. Данных не много (для полноценной БД) и необходимо использовать базу данных какую нибудь "стандартную", т.е. ту, которую поддерживает сама Windows (если конечно такая существует) без сторонних драйверов. Существует ли такая база данных?
файловая система :D
файловая система :D
Файловая система, скажи еще реестр - они же существуют для другого, мне надо хранить данные другого типа
файловая система :D
Кстати, файловая система на основе БД в Windows только разрабатывается
Данных не много (для полноценной БД) и необходимо использовать базу данных какую нибудь "стандартную", т.е. ту, которую поддерживает сама Windows (если конечно такая существует) без сторонних драйверов. Существует ли такая база данных?
Существует. Называется Microsoft Jet Database. Там везде написано про Access, однако на моей машине Access не установлен, а драйвер тем не менее присутствует. Как правило, он ставится вместе с системой в составе ODBC/ADO/MDAC. Если для базы не требуется поддержка SQL, можно использовать.
Только учти, что на некоторых системах ADO и даже ODBC может быть удален программами вроде XPLite или nLite.
Существует. Называется Microsoft Jet Database. Там везде написано про Access, однако на моей машине Access не установлен, а драйвер тем не менее присутствует. Как правило, он ставится вместе с системой в составе ODBC/ADO/MDAC. Если для базы не требуется поддержка SQL, можно использовать.
Только учти, что на некоторых системах ADO и даже ODBC может быть удален программами вроде XPLite или nLite.
Microsoft Jet Database все таки использует драйвера, а они устанавливаются в систему по умолчанию только начиная с Win2000. В win98 их нет. Неужели придется писать свою СУБД ? :(
Неужели придется писать свою СУБД ? :(
Так что тебе надо-то? Например, есть TDbf - компоненты для работы с DBF-файлами на Дельфи, не требующие ничего дополнительного. Правда, DBF - не лучший выбор по многим соображениям. Есть урезанные варианты BDE, которые можно вместе с программой поставлять. Это все для борландовских инструментов.
Наверное, можно разобраться, каким образом ставится MSJet. Если достаточно вызова DllRegisterServer, нужные библиотеки можно вытащить, распространять вместе с программой и регистрировать при запуске программы, если соответствующие COM-сервера в системе не найдены.
Если совсем хреново, можно по-быстрому собственный класс для работы с коллекцией именованных значений написать. Такие форматы популярны у прогграммистов, например, БД Миранды имеет такой формат.
Если совсем хреново, можно по-быстрому собственный класс для работы с коллекцией именованных значений написать. Такие форматы популярны у прогграммистов, например, БД Миранды имеет такой формат.
а где про это можно посмотреть?
Microsoft Jet Database все таки использует драйвера, а они устанавливаются в систему по умолчанию только начиная с Win2000. В win98 их нет. Неужели придется писать свою СУБД ? :(
Вот какая идея меня посетила: Есть в MFC такой компонент как CTreeControl. Он для моих нужд подходит идеально, но вот какая проблема, как и где мне его хранить?
Можно в файле для этого пишу такой код:
file.Open("C:\\test.dat", CFile::modeWrite);
UINT bufSize = sizeof(m_tree);
file.Write(m_tree, bufSize);
file.Close();
В файл что то сохраняется, но как восстановить эти значения из файла? Read выдает ошибку
- INI-файл, это [color=blue]"таблица"[/color] БД;
- Раздел, это [color=blue]"поле таблицы"[/color];
- Имя ключа, это порядковый номер записи (autoincrement).
Встроенной БД в WINDOWS можно назвать INI-файлы. Принцип довольно похож:
- INI-файл, это [color=blue]"таблица"[/color] БД;
- Раздел, это [color=blue]"поле таблицы"[/color];
- Имя ключа, это порядковый номер записи (autoincrement).
У INI файлов существуют ограничения на объем информации