Итак, я скоро начинаю новую работу, где большая часть кода - это унаследованный MFC. Конечной целью является преобразование/переписывание на C#
.
Я немного заржавел в MFC, поэтому пишу некоторый код, чтобы попытаться подстегнуть свою память. В любом случае, мне интересно, как лучше всего подключиться к базе данных SS2005 с помощью MFC. Когда-то CDatabase через ODBC был самым лучшим способом, изменилось ли это за последние несколько лет? Я видел, что можно использовать ATL и ADO, но это выглядит немного многословно, на мой вкус?
Потребительские шаблоны ATL для OleDb являются опцией - начните <a href="http://msdn.microsoft.com/en-us/library/fk4h509a(VS.80).aspx">- здесь. ClassWizard по-прежнему помогает вам, так что многословность поначалу не будет слишком большой проблемой. Однако очень скоро вам придется кодировать вручную. Придется потрудиться, например, убедиться, что в командной строке есть нужное количество знаков ?, соответствующих COLUMN_ENTRY для аксессора. Затем у вас, вероятно, будет миллион методов CopyToCommandFromObject и CopyToObjectFromCommand.
В этом приложении еще нет доступа к данным, и вы собираетесь его добавить? Если да, то я бы серьезно подумал о реализации современного DAL (ADO.Net, linq, если вам повезло быть на 2008) в отдельной управляемой сборке и о взаимодействии.