用VS2010创建数据库工程的经验

首先在自己电脑上注册好数据源,这个和VC6.0的一样,到控制面板->管理工具里面添加。

然后创建数据库工程,我刚开始尝试的时候选择的是单文档应用程序,然后在数据库支持选项中选择“不提供文件支持的数据库视图”,客户端类型选择ODBC,点击数据源按钮,因为已经注册过数据源,所以只要选择机器数据源选项卡,选择要使用的数据源,弹出填写用户名和密码,如果在本机上注册数据源的时候没有填写用户名和密码,那么这里也不用填写,(本机添加数据源的时候在高级选项中有填写用户名和密码这一项),然后选择要加入的表单,就OK了。

进入到程序编辑界面后,有两个地方值得注意,一个是在DoDataExchange这个函数里面,要加入如下一段话:

DDX_FieldText(pDX,IDC_EDIT1, m_pSet->m_ID, m_pSet);

    DDX_FieldText(pDX,IDC_EDIT2, m_pSet->m_Name, m_pSet);

    DDX_FieldText(pDX,IDC_EDIT3, m_pSet->m_GradYear, m_pSet);

这段话的用处是将显示控件和数据源里面的信息建立联系。但是加了之后编译会出现

errorC2665: “DDX_FieldText” : 所有的 10 重载都不能转换参数3(从“CStringW”类型)的错误,这就是第二个要值得注意的地方。解决方法是要把CstringW m_Name;类型改成CString  m_Name;类型。这个问题的解决是参考了这个论坛里面的内容,http://bbs.csdn.net/topics/20469846

OK了,遇到的一些问题都解决了,编译调试一下可以正常浏览数据库了。

  之前还一直在纠结GetDefaultConnect()函数中的内容和例程不一样,用VS2010建立的数据库工程,这个函数里面是一大堆的东西,

return_T("DSN=StuInfo6;DBQ=E:\\StuInfo6.mdb;DriverId=25;FIL=MSAccess;MaxBufferSize=2048;PageTimeout=5;UID=admin;");

而用VC6.0就是return_T("ODBC;DSN=StuInfo6");

  刚开始的时候总是无法浏览到数据库,还以为是这里的问题,后来调通之后发现没所谓,只要我在本机上注册了数据源,那么后面的那条语句也是可以的,只是前面那条语句注明了数据源的位置。

你可能感兴趣的:(MFC)