用ADO连接ACCESS数据库但是要把它封装到DLL内,出现的问题

liuyup 2002-11-11 04:45:03
//我用ADO连接ACCESS数据库但是要把它封装到DLL内在编译的时候总是出现如下的错误
1.error C2011: 'LockTypeEnum' : 'enum' type redefinition
2.error C2011: 'DataTypeEnum' : 'enum' type redefinition
3.error C2011: 'FieldAttributeEnum' : 'enum' type redefinition
4.error C2011: 'EditModeEnum' : 'enum' type redefinition
5.error C2011: 'RecordStatusEnum' : 'enum' type redefinition
6.error C2011: 'ParameterDirectionEnum' : 'enum' type redefinition
// 如何解决希望能够给出解决办法
...全文
100 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
AgedBOY 2002-11-14
  • 打赏
  • 举报
回复
呵呵,还是重定义了。
LookSail 2002-11-13
  • 打赏
  • 举报
回复
哎!解决了
你把stdafx.h里面的
#include <afxdb.h>// MFC ODBC database classes
#include <afxdao.h>// MFC DAO database classes
这两行注释掉就可以了
LookSail 2002-11-13
  • 打赏
  • 举报
回复
我的贴子
http://expert.csdn.net/Expert/topic/1174/1174410.xml?temp=.1345789
问的一样的问题,
解决了这个贴子就到我的贴子上拿分吧。

上面的办法我试了都不行
fountain521 2002-11-13
  • 打赏
  • 举报
回复
利用VC的查找功能,就是那个小望远镜
看看某个变量在何处定义,有没有定义重复现象..
liron71 2002-11-13
  • 打赏
  • 举报
回复
不要在stdafx.h中加,因为多个文件包含#include "stdafx.h",应直接在某个cpp文件里开头加这句
liron71 2002-11-13
  • 打赏
  • 举报
回复
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")

using namespace ADOCG;
nj_zhulin 2002-11-13
  • 打赏
  • 举报
回复
关注
icelight 2002-11-13
  • 打赏
  • 举报
回复
GZ
every 2002-11-12
  • 打赏
  • 举报
回复
关注!
wj59 2002-11-12
  • 打赏
  • 举报
回复
up
用户 昵称 2002-11-12
  • 打赏
  • 举报
回复
去掉一些头文件
liuyup 2002-11-11
  • 打赏
  • 举报
回复
我在stdafx.h中加上
#import "d:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
就会出现上面的错误。
ruihuahan 2002-11-11
  • 打赏
  • 举报
回复
检查include的.h文件。定义重了。
liuyup 2002-11-11
  • 打赏
  • 举报
回复
没有重定义
fountain521 2002-11-11
  • 打赏
  • 举报
回复
那你的这些变量有没有重定义啊??
摘 要 40多年来,计算机在处理各方面的应用发展迅速。尤其在计算机飞速发展的今天,计算机的应用已在社会的各个领域深入开来,无论是在商业,工业还是政府部门都早已普及。 本文对实现图书销售系统的关键技术MFC和ADO进行了概括的描述,探讨了MFC的宏观框架体系、构成应用程序的对象、ADO以及在VC中使用ADO的步骤。本次设计采用了MFC技术、ADO技术,并且结合Access2000来开发书店的图书销售系统。 关键词: 图书销售,MFC,ADO 目 录 1 前 言 1 2 关键技术分析 2 2.1 MFC概述 2 2.1.1 MFC的宏观框架体系 2 2.1.2 构成应用程序的对象 3 2.2 VC开发数据库ADO 4 2.2.1 ADO概述 4 2.2.2 在VC中使用ADO 4 3 总 结 8 参考文献 9 1 前 言 在科技飞速发展的今天,计算机的应用已经深入到各行各业当中。为了提高书店日常工作效率,因此设计了图书销售系统,协助书店的图书销售的管理。该前台销售部分的开发是为了简化销售过程,能够方便快捷的销售图书,系统配合了后台管理系统和数据库使用,完成零售业的供销存等商业活动过程。本次设计的实现采用Visual C++6.0和Access 2000等工具来完成,其环境为单击环境,采用MFC连接数据库,设计出了简洁、易用的人性化界面。实现的功能有:登陆过程、增加记录、删除记录、查询功能、计费功能等。特点:操作简单,界面和谐,有一定安全性(登陆过程)和可维护性,查询和计费准确快捷等。这些功能都在系统中实现,MFC将数据库的操作封装起来,通过用户对界面的操作产生相应的消息,从而进行相对应的消息处理并得出的结果。 2 关键技术分析 根据任务书及系统的要求,采用VC++6.0和Access 2000完成整个设计。用Access 2000作为后台数据库,并运用MFC技术和ADO技术等设计出简洁、易用的符合人们使用习惯的操作界面,完成书店图书销售系统的设计与实现。 2.1 MFC概述 2.1.1 MFC的宏观框架体系 MFC[1] [4]实现了对应用程序概念的封装,把类、类的继承、动态约束、类的关系和相互作用等封装起来。这样封装的结果对程序员来说,是一套开发模板(或者说模式)。针对不同的应用和目的,程序员采用不同的模板。例如,SDI应用程序的模板,MDI应用程序的模板,规则DLL应用程序的模板,扩展DLL应用程序的模板,OLE/ACTIVEX应用程序的模板等等。 这些模板都采用了以文档-视为中心的思想,每一个模板都包含一组特定的类。 为了支持对应用程序概念的封装,MFC内部必须作大量的工作。例如,为了实现消息映射机制,MFC编程框架必须要保证首先得到消息,然后按既定的方法进行处理。又如,为了实现对DLL编程的支持和多线程编程的支持,MFC内部使用了特别的处理方法,使用模块状态、线程状态等来管理一些重要信息。虽然,这些内部处理对程序员来说是透明的,但是,懂得和理解MFC内部机制有助于写出功能灵活而强大的程序。
很久没有发布东东了,今天看到盒子上有朋友发布了个三层的东东, 下来大概看了看,貌似使用起来不太方便,曾经用过ASTA和RmoObject,都不是那么让人满意,BUG多,并且庞大需要安装,使用十分不方便。 为了继续支持我喜欢的DELPHI和可爱的盒子, 特发布个自己写的远程数据库对象希望能给大家平常的工作带来便利和高效(偶自己和同事们都用了挺长时间,十分稳定易用)。 用DELPHI的朋友少不了要和数据库打交道,一般小程序都使用ACCESS或者SQLLITE做数据库感觉十分方便,不用装数据库服务端,客户端不用单独装驱动, 发布程序时直接目录一拷贝就完事,但缺点是不方便从其它计算机对它进行访问, 有了偶这个东东,就可以很方便容易的实现咯。 ps : 就是连接Oracle和mysql,也可以不用装驱动或少附带发布多余的DLL。 当前版本 mmzmagicrmo v1.8 更新历史 v1.0 单元实现 v1.1 解决不支持自增长字段的问题 v1.2 解决id号必须是第1个字段的问题 v1.3 为增加速度,做缓冲不用每次生成语句 ,改变自动更新时导致filter属性暂用的方式 v1.4 在sabason 兄的热心帮助下,解决了流试传输存在的问题,大大提高了传输效率 20100413 v1.5 全面修改为支持高效率的UniDAC数据库驱动套件 和ClientDataset (原来是ADO方式)支持所有主流数据库,大幅提高传输效率,且使用方法没有改变 v1.6 解决流传输存在的BUG ,修正最后一个字段为blob字段导致语句生成错误的BUG v1.7 增加服务端sys.ini文件配置客户端登陆权限,增加批量执行SQL语句接口 v1.8 增加服务端提供自动升级功能,可以升级多个文件或者目录,可选择强制升级或者客户端可选升级 使用步骤 解压后找个地方存放 将GobUnit目录添加到delphi的搜索路径 将DXSockEnt30(我改过bug的版本)的3个子目录也添加到delphi的搜索路径 即可使用和编译所有偶提供的代码 FAQ: 这个东东都提供什么功能? 答:提供最简单方便高效的方式,通过CDS+UniDAC实现远程数据库 这个东东为什么不封装成控件? 答:本类以单元形式封装,只要加到搜索路径后直接引用即可,无需经过安装等麻烦的步骤。 这个东东适合应用在什么场合? 答:适合应用于小型分布式程序。 这个东东掌握起来有难度吗? 答:没有任何难度,就和你开发本地数据程序一样简单。 这个东东可以应用在我已有的程序里吗? 答:由于我使用的是TClientDataset作为数据集载体,所以无需更改为其他控件,现有的本地数据库程序也可以非常容易的改造为支持分布式数据库。 这个东东稳定吗? 答:经自己长期做小白鼠广泛的实际应用实践,发现方便,稳定。 服务端的端口号是多少? 答:服务端的端口号可以随意设置,只要不和其他程序冲突就可以,并且客户端连接服务端时必须端口一致. 如果服务端重启了客户端需要重启吗? 答:不用,客户端只要连接上服务端以后就有自动断线重连的功能。 我在使用时要注意什么? 答:如果你要用TClientDataset对象的Insert,Edit,Append,Post方法新增数据时,我会占用这个对象的BeforePost和BeforeDelete事件。 这个东东免费吗? 答:完全免费,并且开放所有源代码,你可以随意改进,传播它,当然如果更好用了,记得给我也发一份 :)(要保留偶的版权和注释信息哦) 这个东东使用到了那些控件? 答:第3方Dxsock,TClientDataset,UniDAC 同时发布的还有我自己积累的几个常用单元,有日志,调试,tcp的通用服务和客户端模块等,同样都是十分有用的东东。 这个东东有demo程序吗? 答:有最简单的示范程序,但时间关系只写了最简单的演示代码,还有很多值得你去挖掘的实用接口和单元。 我有了改进版本,怎么联系这个东东的作者? 答:QQ 22900104 ,Email 22900104@qq.com 马敏钊 发布这个东东的目的是什么? 答:好用的东东大家分享,共同学习,共同进步,希望大家都能发扬开源精神。 构架说明: 大概是这样的,偶有一个服务器对象,负责提供数据库服务,在需要提供数据服务的程序里创建它即可。 使用起来十分简单 首先引用服务端单元 uses UntRmodbSvr; //创建远程服务对象 (参数1 服务端口号 日志对象,如果不需要记录日志请填nil) Gob_RmoDBsvr := TRmodbSvr.Create(FSvrPort, nil); //连接数据库 可以是ADO支持的所有数据库 调用TDBMrg提供的获取各种数据库的链接字符串即可,这里连接Access数据库 Gob_RmoDBsvr.ConnToDb(TDBMrg.GetAccessConnStr('cfg.mdb')); 到此为止,2行代码使你的这个程序具有了将数据库发布出去的能力,其它机器的程序可以方便的通过它访问到数据库,像使用本地数据库一样。 客户端只需连接服务端即可,不管服务端是什么样的数据库,无需安装任何数据库驱动。 uses UntRemSql; //创建客户端对象 RmoClient := TRmoHelper.Create(); //连接服务端 填入服务端地址和端口(与服务端端口一致即可) Result := RmoClient.ReConnSvr(ISvrIP, Iport); 2行代码使你的客户端程序具有了方便的访问到远端的数据库,像使用本地数据库一样,并且你原有的单机数据库程序可以很方便改为远程数据库。 具体使用方法可以查看DEMO程序
2-2-3引用NameSpace 引用设定 引用之后 2-2-4关于变量 声明及使用 生存周期及传递 变量传递予DHTML 2-3写给ASP开发人员 2-3-1 ASP的物件 2-3-2了解NameSpace 2-3-3 Server的事件及执行位置 2-3-4数据定义的改变 2-4使用Visual Studio.NET 2-4-1集成的开发环境 2-4-2工程处理 检视各项数据及辅助工具 引用数据 加入控件或文件 专案属性 建立资料存取环境 第三章表单基本设计 3-1 HTML Control 3-1-1在网页动态显示图片 3-1-2上传文件 3-1-3动态产生表格列及单元格 3-2 WebControl 3-2-1使用月历执行查询 3-2-2使用验证规则 3-2-3使用组合方块 3-2-4使用选项组 3-2-5取得及显示控制项之值 3-3事件处理 3-3-1物件及事件 属性、方法及事件的继承 关于Overrides 事件程序的参数 3-3-2 PostBack的设计 Page_Laod事件 AutoPostBack属性 3-3-4 HTML控制项的事件 3-4表单流程控制及设计 3-4-1使用表单的第一件事 3-4-2关于Form标记 3-4-3关于Page物件 判断及取得控制项 动态新增控制项 产生前端处理语法 3-4-4表单流程设计 浏览另一页 传递条件 第四章以Visual Studio.NET开发Web应用系统 4-1 Visual Studio.NET与Web 4-1-1有关Web的专案 4-1-2关于Web应用系统 专案位置 使用多个Web Application专案 Web Application专案属性 离线作业及权限设定 测试及执行 使用及执行范例 4-2使用Config 4-2-1可使用的标记 取得浏览器资讯 记录字串 自订标记 使用Configuration Viewer 4-2-2 Config.web的位置 4-3 Global.asax 4-3-1 Global.asax的内容 4-3-2 Global.asax的位置 4-4其他组件 4-4-1关于Reference 4-4-2使用样式表 定义样式 在网页引用样式 4-4-3新增组件 4-5建立表单 4-5-1网页编辑模式 4-5-2控制项处理 新增控制项 属性设定 4-5-3撰写程式 Class的观念 继承的定义 取用事件 4-6封装及部署 4-6-1关于Build 4-6-2部署 加入部署项目 产生安装档 执行部署 第五章结合数据库基本设计 5-1结合数据库之前 5-1-1确定平台及数据库格式 5-1-2前端与后端的差别 5-2使用Access及SQL的重点 5-2-1系统规划概述 5-2-1使用Access的注意事项 5-2-2使用SQL Server的注意事项 5-2-3安全考量应有设计 Access文件的位置 SQL的超级使用者-sa 数据库连接-使用DSN 5-3 ASP.NET如何结合数据库 5-3-1关于ADO.NET 5-3-2与数据库无关的DataSet DataSet的内容 DateSet的来源(自行建立) DateSet的来源(取用数据库) 控制项结合DataSet 回存至来源 5-3-3没有Recordset 5-3-4取得记录的多种方法 5-3-5阵列的观念 5-4以Visual Studio.NET建立资料表单 5-4-1取得资料来源 连接数据库 取得记录 5-4-2 DataSet处理 产生DataSet 连接网页及DataSet 5-4-3使用资料表单精灵 5-4-4 View的设计及取得 第六章资料表单设计(一)-使用DataGrid 6-1范例说明 6-1-1开发目的及内容 6-1-2 Access及SQL 执行安装 关于取得数据库连接 6-2 DataGrid控制项 6-2-1编辑及储存 编辑及储存基本设计 编辑时锁定部份栏位 编辑时使用多种控制项 6-2-2新增设计 6-2-3删除设计 删除基本设计 批次删除 6-2-4分页设计 分页基本设计 使用数字 6-2-5排序设计 排序基本设计 使用多重栏位 第七章资料表单设计(二)-使用Repeater及DataList 7-1范例说明 7-1-1开发目的及内容 7-1-2 Access及SQL 执行安装 7-2实务设计范例 编辑及储存基本设计 编辑设计(显示在单一表单) 删除设计 分页设计 排序设计 7-3资料控制项整理说明 显示记录 可使用的Template Template的内容 DataGrid的Template 子控制项的寻找及取得 第八章其他资料表单设计 8-1单一表单 控制项的Tooltip 取得及显示记录 上下页切换 输入笔数及切换 编辑处理 新增处理 取消设计 储存设计 储存后的更新 8-2主子表单 8-2-1同页显示 操作及功能说明 主子表单的连结 编辑处理 自动计算的设计 子表单之新增处理 储存设计 8-2-2分页显示 主子表单的连结 使用HyperlinkColumn 子表单的新增及储存 8-3查询式表单 取得资料表 建立新DataTable 取得栏位及型态 新增准则 清除准则 执行筛选 第九章资料验证及格式 9-1资料验证 9-1-1资料验证实务范例 验证主索引 验证身份证号 验证Email 储存前检查 验证密码 9-1-2使用前端验证 9-1-3综合说明 可被验证的控制项 比对语法 9-2资料格式 9-2-1设定格式 使用DataFormatString 使用Format相关函数 9-2-2资料转换 Ctype函数 ToString Null的处理 避免错误的设计 第十章结构化设计 10-1使用Pagelet 10-1-1 Pagelet的基本架构 Pagelet的内容 引用Pagelet 10-1-2为Pagelet加入属性及方法 10-2 Pagelet的实务范例 10-2-1表头及表尾 10-2-2输入表单的辅助设计 DropDownlist 日期输入 10-2-3基本处理工具列 10-2-4清单方块选项传递 10-3自订NameSpace-物件类别 10-3-1 NameSpace的架构 NameSpace的基本形式 编译为DLL 引用自订NameSpace 10-3-2在Visual Studio.Net的处理 新增Web Control Library专案 编译处理 引用自订NameSpace 10-4自订Namespace-控制项 10-4-1关于Control的继承 10-4-2建立自订控制项 制作单一表单 撰写程式 第十一章跨越网际网路的WebService 11-1了解WebService 11-1-1服务的架构 11-1-2允许的资料型态 11-1-3由撰写至使用WebService 制作.asmx文件 撰写的注意事项 浏览.asmx 产生SDL 编译 引用 11-1-4在Visual Studio.NET的处理 制作及编译WebService专案 引用至WebApplication专案 11-2在Web Service使用数据库 11-2-1数据库处理 11-2-2引用至.aspx 取得回传的DataSet 回存及删除处理 第十二章进阶设计及其他相关课题 12-1 DataSet及XML 12-1-1写入至XML 12-1-2将筛选结果写入至XML 12-1-3读取XML 12-2使用CodeBehind 12-2-1 CodeBehind的设计 12-2-2 CodeBehind范例 引用程式档 程式档内容 12-3以Cookie管理使用者 12-3-1定义使用者 12-3-2认证处理 12-4 Session的管理 12-4-1规划Session 12-4-2 Session基本设定 网页与Session 在Config.web设定Session 12-4-3在Web Service使用Session 12-5传送Email 12-5-1制作发送Email之表单 12-5-2由数据库大量传送 第十三章成功案例 13-1讨论区 13-1-1数据库结构 13-1-2讨论区之操作 13-1-3流程设计 13-1-4登入设计 判断是否登入 回至Session 13-1-5切换类别及时间 多项属性定义 引用至网页 取得及显示类别 总笔数至结束日 自订事件 类别切换 13-1-6文章处理 显示文章 浏览文章 回覆及新增处理 上下周切换 13-2所见即所得-组合卫浴 13-2-1数据库结构 13-2-2操作说明 13-2-3重要设计说明 附录A除错处理 附录B追踪处理

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧