Быстрая программа-прототип на C # с простой базой данных
Вопрос
Ладно, я видел, но раньше не программировал на C #.Вы можете предположить, что я компетентен в C ++ и продвинут в C (какая мне от этого польза).Я понимаю наследование, полиморфизм и т.д., так что концепции OO не будут большой проблемой.
Допустим, мне дали задание создать прототип быстрой и грязной программы, которая не сильно отличалась бы от того, что я мог бы сделать в access за короткое время.
- У него будет база данных с 5-6 таблицами (в основном небольшими, некоторые содержат несколько тысяч строк, но только 4 или около того столбца и т.д.)
- Мне нужно, чтобы формы генерировались динамически из одной из баз данных
- Результаты заполнения форм будут сохранены в другой таблице
- База данных не является многопользовательской
По сути, это ваше обычное приложение access...только без доступа.Я уверен, что смогу запутаться и создать ужасно плохой код, но я также уверен, что многие люди здесь могут подтолкнуть меня в правильном направлении (учебные пособия, мастера, информация, различия и убийцы при переходе с C / C ++ на C # и т.д.).
Есть ли простая база данных, которую я могу подключить для начала работы, помимо mdb, или это лучший выбор для данного конкретного приложения?Я стремлюсь к быстрой установке без зависимости.
Спасибо!
-Адам
Решение
Похоже, для этого приложения вы могли бы использовать Динамические данные Microsoft или Активная запись Замка, и пусть приложение заработает через несколько минут после завершения работы с базой данных.Эти инструменты подключаются к базе данных и генерируют формы для ввода данных.Взгляните на них.
Access, вероятно, ваш лучший выбор для базы данных.MS Sql 2005/2008 Express также будет работать хорошо, но для этого потребуется установка.
Другие советы
Если вы программируете на C #, Visual Studio поставляется с дополнительной установкой для SQL Server Express.Если вы хотите сделать что-то быстро и грязно, было бы довольно легко использовать эту базу данных при создании вашего приложения.
Если параллелизм является нет проблема, тогда я бы посоветовал использовать SQLite.ADO.NET Поставщика услуг можно найти здесь: http://sourceforge.net/projects/sqlite-dotnet2/files.Что касается проблемы параллелизма, то при выполнении группы вставок эта операция должна быть заключена в транзакцию.Однако эта транзакция накладывает исключительную блокировку на базу данных до тех пор, пока транзакция не будет либо зафиксирована, либо откатана.По крайней мере, таков мой опыт, но я сам пользуюсь им всего неделю или две.
Надеюсь, это поможет!
Если у вас уже установлен MS Access, то да, mdb, вероятно, ваш самый быстрый способ начать работу.
Также вам захочется просто начать с краткого руководства ADO.NET.Таких сотни (ну, почти сотни, я не считал).
Как насчет использования SQLLite вместо access для базы данных?Я никогда не пользовался им, но слышал, что он хорош для некоторых легких и быстрых задач с БД.
SqlExpress был бы вашим лучшим выбором просто потому, что у вас уже есть вся необходимая поддержка в System.Data.SqlClient.Кроме того, в MSDN есть неплохая справка.
SQLite - файл это именно то, что вам нужно.Это библиотека языка Си для доступа к файловой реляционной базе данных.Указанный сайт имеет полную поддержку Visual Studio (System.Data.SQLite).
Я бы предложил использовать Дозвуковой чтобы сгенерировать код доступа к вашим данным и создать каркас для ваших экранов.