MFC图书管理系统_头文件
当今社会已经步入信息化时代信息的...

高校图书馆管理信息系统的研究及设计摘要当今社会已经步入信息化时代,信息的快速获取显得越来越重要。
而作为办学三大支柱之一的高校图书馆,承担着服务于教学和科研的重任,主要为教学和科研提供海量的信息资源并保证能为终端客户快速查询目标信息。
为了更好的发挥图书馆的功能,有必要建立起一个以计算机技术、信息技术、网络技术为支撑的全自动化图书馆管理系统。
本文根据广东院校多校区的情况,通过对高校图书馆的组织结构,组织需求, 业务流程,数据流程的全面详细分析,建立起系统的逻辑模型。
并在此基础上,借助适当的理论和技术,设计了系统数据库的概念结构和逻辑结构。
开发过程综合运用了“自上而下”的开发策略,“瀑布模型”的过程建模,结构化系统,生命周期法和原型法相结合的开发方法。
昀终建立起管理系统的物理模型。
在 Windows NT 网络操作系统环境中,选用 Microsoft SQL Server 2000 作为数据管理系统,以 PowerBuilder 8.0 作为系统开发工具进行程序设计,该物理模型昀终得以实现。
该管理系统还具有友好的人机界面,操作方便快捷、维护简单、通用性强等特点。
关键词:高校图书馆,管理信息系统,关系数据库,PowerBuilder AbstractInformation is becoming important in the modern society and quickly gettinginformation is also becoming important. As the one of the three stanchions ofuniversity,university library, which is responsible for servicing teaching and scientificresearch,affords lots of information to users and has to make sure to give users whatthey want quickly. So for making bigger contribution to teaching and researching,library management information system has to be builded base on thecomputer technology,information technology,network technologyMost of the universities in GuangDong province have more than one campus.According to the fact,the library management information system is tried tobe builded to solve the problem.First, analyzing the structure of the library,the requestof it,the flow of its businesses,the flow of the datas and build the logicmodle.Second,the concept structure and logic structure of the data-base is designedthrough the theory and the technology..The “TOP-DOWN” development strategy andWaterfall Model,structure system analysis and design (SSA&D),Prototyping andlifecircle approach(LCA) are adopted during the process of system building.Thephysic model is finally buildedThis paper tells how to use the Windows NT network,Microsoft SQL Sverver2000 as the data management system,and PowerBuilder 8.0 as the tool to design.Thelibrary management information system told in the paper has powerful function,friendly interface and flexibility. The library management information systemfriendly,simple and conventientKeyword: University library,management information system,data-base,Powerbuilder 目录第1章绪论11.1 课题的背景及意义11.2 图书馆管理系统的国内外研究状况..2 1.3 管理信息系统的简介..41.3.1 管理信息系统的概念,特点及发展.4 1.3.2 管理信息系统的功能,结构及应用.5 1.4 本文主要的研究内容..5第2章管理系统的理论技术基础72.1 硬件开发技术..72.1.1 计算机体系结构及网络技术.72.1.2 MFC ODBC数据库开发技术.82.1.3 条形码技术..82.2 开发平台及工具.92.2.1 系统开发平台.92.2.2 系统开发工具.92.3 软件开发基础102.3.1 系统开发流程简介102.3.2 系统开发策略的介绍..112.3.3 系统建模.122.3.4 系统的开发方法.132.4 智能Agent技术.17第3章图书馆管理信息系统的调研及分析20 3.1 图书馆管理信息系统的调研203.1.1图书馆的调研203.1.2 必要性和可行性分析..223.2 图书馆的组织分析243.2.1 图书馆的组织结构243.2.2 图书馆部门职能分析..25 3.2.3 图书馆业务流程分析..28 3.2.4 图书馆数据流程分析..303.2.5 数字字典的分析.313.3 本章小结.32第4章图书馆管理信息系统数据库的设计334.1 数据库系统的介绍.334.1.1 数据库系统的结构组成.334.1.2 数据库的发展历程334.1.3 数据模型.354.2 数据库的设计.364.2.1 数据库设计流程概述..364.2.2 数据库概念结构设计..374.2.3 数据库逻辑结构设计..38第5章图书馆管理信息系统的设计及实现425.1 系统设计概述425.2 系统功能模块化设计435.3 系统实现..485.4 系统的运行环境及其维护工作..565.4.1 系统的运行环境简介..575.4.2 系统的维护工作.57总结与展望58参考文献.60攻读学位期间发表的论文63致谢.64 高校图书馆管理信息系统的研究及设计第1章绪论1.1 课题的背景及意义随着计算机技术,网络技术和信息技术的不断发展,随着信息化的不断发展, 现代社会已经进入了全信息化时代。
vc++MFC基础教程

1.2.3 编辑区
• 在Visual C++中,编写应用程序代码的位置就是编辑区。该编辑区的 功能十分强大,智能化程度也非常高。在编辑区内,除了能编写 C/C++语言外,还能编写SQL、HTML和VBScript等其他编程语言。 如下图所示。
1.2.4 联机帮助
• Visual C++6.0不像其他集成开发环境一样把帮助系统集成在开发环境 内部,而是提供了一个专门为Visual C++设计的MSDN类库。MSDN 虽然是一个独立的帮助系统,但却能很好地和Visual C++6.0集成在一 起。 • MSDN的使用方式有以下几种: • 单击【Help】|【Contents】命令; • 单击【Help】|【Search】命令; • 单击【Help】|【Index】命令; • 按下【F2】键。 • 通过上述几种命令方式,即可运行MSDN。
1.2.1 工作区窗口和输出窗口
• Find in Files 1和Find in Files 2:两个选项卡的作用相同,用于显示 从多个文件中查找字符串的结果。当用户想要查看某个函数或变量出 现在哪些文件中,单击【Edit】|【Find in Files】命令,弹出【Find in Files】对话框,如下图所示。在【Find in Files】对话框中的 【Find what】后的编辑框中,输入想要查找的内容,单击【Find】按 钮即可。查找到的内容会输出到Find in Files选项卡中。
第1章 Visual C++集成开发环境
• Visual C++是一个功能强大的可视化应用程序开发工具。其凭借强大 功能,受大了广大程序员的欢迎。当今流行的Visual C++的开发工具 是6.0版本。下面来介绍Visual C++ 6.0的一些基本情况。
第6章 MFC基础

MFC概述—MFC应用程序分析
➢ 无WinMain()函数 ➢ 应用程序对象:必须利用应用程序类实例化一个全局对象 ➢ InitInstance()函数:派生类中重写,用于初始化应用程序 ➢ MFC窗体:利用MFC已有的窗体类派生或实例化
-5-
MFC概述—MFC应用程序开发方法
创建项目 创建/编辑资源
函数功能 在数组的最后添加一个数组元素,在必要时扩展数组 将另一个数组添加到此数组,在必要时扩展数组 将另一数组复制给此数组,在必要时扩展数组 设定数组指定位置处的值,在必要时扩展数组 获得一个指向数组元素的指针 释放不用的数组内存 获取数组内指定位置处的值 获取数组中包含的元素个数 获取允许访问数组元素的值的指针 获取数组的上边界的值 在数组的指定位置插入一个元素,后面的元素下标加1 删除指定位置处的值 删除数组中的所有元素 设定数组指定位置处的值,数组不增长 设置数组的的初始大小 重载数组下标操作符
...... END_MESSAGE_MAP
- 10 -
MFC应用程序框架—消息映射
➢ 普通窗口消息
窗口消息 WM_CHAR WM_CLOSE
消息映射宏 ON_WM_CHAR ON_M_CLOSE
默认处理函数
afx_msg void OnChar (UINT, UINT, UINT); afx_msg void OnClose();
afx_msg void OnMouseMove( UINT, CPoint);
- 11 -
MFC应用程序框架—消息映射
➢ 命令消息
//命令消息使用ON_COMMAND宏对其进行映射响应,格式如下: ON_COMMAND(命令ID,响应函数)
//响应函数的原型如下: afx_msg void memberFxn();
在MFC DLLs中导出资源及其相关类的实现方法

。
cIass AF×_E×T工LASS CRisPaIDlg:pubIic CD旧Iog
{
Orotected:
HINSTANCE m』Inst://川J:f求仃资源¨柄
Dub|Ic:
CRisPaIDIg{CWnd牢pParent=NULL):
virtuaI~CRlsPalDlg()://fJif勾H自数 //enum{IDD=IDD—p}ALOG—PALETTE)://}lif弄,啦尢红牧’浮
//})AF×』lRTUAL //I mDlementation
OrOtected:
46 万方电数脑据编程技巧与维护.2001.8
//Generated message map functIons //({AF×—MSG(CRisPaIDIg} //}}AF×MSG DECLARE—MESSAGE—MAP 1) ): 舟endif
实用第一
UlNT lDD://声明对话框资源lD
Drotected:
virtuaI void DoDataExchange(CDataExchange木p【2X):
DrOtected:
DECLARE.A月ESSAGE.J\^AP()
}:
一
托ndif . 3.在对话框实现文件Itis附mg.cpp中,首先声明外部函
AfXSetResourceHandle(hModule)://改变资源搜索顺序 } ~CDIIS协tus{) {
AfxSetResourceHandIelm_nlnst)://改变资源搜索顺序 } };
2.设置导出类 如果导出类为模态对话框。则可以在导出类中重载D争
M也od可ll以函在数导。出在类Do中Mo声da明l函CD数l鼬中s声的明成有员C变Dl量lS。眦对8变于量非即模可态,对
MFC中使用EXCEL方法及源码(1)

使用MFC操作EXCEL文件一、加载1、在VC6.0里创建一个MFC工程2、打开MFC ClassWizard窗口(查看—>建立类向导),选择Automation,单击Add Class 按钮,选择From a type library...,弹出文件选择对话框,之后定位到C:\ProgramFiles\Microsoft Office\OFFICE11\EXCEL.EXE,在生成类中添加所有的对象(其实添加需要的即可,为了简便,不出错保留了冗余),如下图。
3、返回编辑器,查看工程文件,可发现多了EXCEL.H及EXCEL.CPP两个文件,拷贝出来,放在VS2005需要使用excel的工程文件中。
4. 打开stdafx.h头文件确保包含如下头文件:#include <afxdisp.h>(这个一般有了)#include "excel.h" (手动添加这个即可)5. 打开TestExcel.cpp文件,修改CTestExcelApp::InitInstance(),加入如下代码:if( !AfxOleInit() ){AfxMessageBox("初始化Ole出错!");return FALSE;}为保证编译时不产生重复定义错误(可以验证一下是否成功加载,没有也能正常执行),我编译时出现了很多“类重复定义”异常,打开excel.h文件,在文件开始位置加入如下代码:#if !defined _HEAD_FILE_EXCEL9_#define _HEAD_FILE_EXCEL9_相应的,在文件末尾加入:#endif成功二、操作EXCEL文件1. 新建一个excel表,并填充两个单元格的实例void CTestExcelDlg::OnButton1(){//Workbooks—>Workbook —>Worksheets—>Worksheet —>Range_Application app; //Excel应用程序接口Workbooks books; //工作薄集合_Workbook book; //工作薄Worksheets sheets; //工作表集合_Worksheet sheet; //工作表Range range; //Excel中针对单元格的操作都应先获取其对应的Range对象Font font;Range cols;/*COleVariant类为VARIANT数据类型的包装,在自动化程序中,通常都使用VARIANT数据类型进行参数传递。
MFC控件知识点

1按钮控件1.1如何使用按钮控件方法是双击编辑对话框按钮图标,之后就进入了这个按钮单击的处理函数,在这里,你可以添加按钮单击后要做的事是什么.1.2如何让按钮显示图标样式首先进入ResourceView里,然后右击Icon选择插入,之后选择你要的图标,假设这个图标的ID名为IDI_ICON2,那么下一步,就是进入对话类中的OnPaint()函数,并在else里面添加如下语句:m_Quit.SetIcon(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON2)));注:m_Quit为要显示图标按钮的关联类;还要说明的是,必须把按钮属性样式里把图标的构给打上才行,要不然是无法显示图标的。
1.3如何让按钮显示文本信息先要在对话框添加一个CToolTipCtrl类的对象,如:CToolTipCtrl m_ToolTip;然后在OnInitDialog添加以下语句:m_ToolTip.Create(this);m_ToolTip.AddTool(&m_Confirm,”文本信息”);//m_Confirm为要显示文本按钮关联的类对象然后在类视图窗口中右击对话框类,在弹出的菜单中选择Add Virtual Funtion,然后再双击PreTranslateMessage;添加右边窗口中去,这样便增加了一个方法,在此方法中添加以下语句m_ToolTip.RelayEvent(pMsg);既可;2.1如何使用复选框控件复选框控件是有一个X的图标,比如是三个复选框吧,首先各为三个复选框关联一个控件类,比如是m_Vip,m_Manager,m_Commoner;那么调用m_Vip.GetCheck();返回的是一个整数,如果返回值等于BST_CHECKED;那么此类关联的复选框控件就被选中了。
如果要获取此类关联控件的文本信息就用m_Vip.GetWindowText(Modal);其中Modal是一个CString类的对象,跟Edit是差不多的,存储有信息。
在Win32应用程序中使用MFC类库
在Win32应用程序中使用MFC类库(转)转发评论2010-04-30 10:38由于MFC中的辅助类,如CFileDialog,CFileFind,CString等使用起来非常的方便如果用API来完成相应的工作,则需要自己完成大量的重复工作,使用MFC的辅助类可以节省大量的开发时间,具体方法如下: 1.加入相应的头文件由于在SDK程序中一定要包含windows.h头文件,所以在使用MFC中的类时,如加入afx.h一类的头文件会有一个提示与windows.h相冲突,解决的办法是,去掉windows.h,然后在所有的.h 文件前加入#include "stdafx.h"#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers#include <afxwin.h> // MFC core and standard components#include <afxext.h> // MFC extensions#include <afxdisp.h> // MFC Automation classes#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls#ifndef _AFX_NO_AFXCMN_SUPPORT#include <afxcmn.h> // MFC support for Windows Common Controls#endif // _AFX_NO_AFXCMN_SUPPORT注意一定要在所有的头文件之前加入这几行,而起顺序最好不要改变,否则会有大量的错误提示。
2.更改编译设置在Project->Setting->General中选Use MFC in a Shared DLL或者Use MFC in static Library,并把project->Setting->C/C++ 中的Use runing-time library 由Single-Threaded改为相应的Multithreaded。
图书销售管理系统94903
图书销售管理系统1引言传统的图书销售管理方法,都是通过人工统计和计算的管理方式进行的.这样的管理方法不但费时费力,也容易产生计算上的错误和疏漏;计算机技术的全面普及,打破了书店管理的传统管理方法,提高了管理效率的同时,克服了传统管理方法中易产生的问题,使管理员能够有序的、全面的对图书销售和库存进行管理。
网上图书销售系统可以完成书店的日常管理,如图书录入、图书销售、销售统计、查询库存等功能,迅速准确地对已售图书和剩余库存进行统计和汇总工作,大大提高了书店的管理效率和准确性.2 需求分析2。
1 国内外研究的现状在现代化的书店中,对图书销售工作运用现代化技术进行管理,是提高工作效率的有效手段.图书销售管理是书店日常工作中非常重要的一个方面,越来越受到书店经营者的重视.通过计算机管理系统对图书销售进行全面的统计与管理,全面解决了书店经营过程中所遇到的各种问题,并且克服了传统管理方式中的易出错等问题。
图书销售管理系统成为书店管理的首选管理工具。
2。
2 功能需求2.2。
1待开发软件的功能需求本系统是根据书店的实际需求而开发的,要求稳定、可靠的实现图书销售的自动化管理,通过本系统可以达到以下目标:1.图书录入,包括图书的基本信息,如分类、进价、售价、作者等。
2.图书销售,包括图书的售价、折扣、销售日期,并实现对库存量的修改。
3.销售统计,包括按图书类型、书名、作者、出版社等进行统计。
4.查询库存,对指定的某本图书剩余库存量进行查询。
5.售完图书查询,对已售完图书进行查询。
2.2。
2待开发软件的功能按照用户需求,要满足以上功能,我设计出了图书销售管理系统的系统功能图,如图2。
1所示。
图2.1 图书销售管理系统的系统功能图综合系统要求,对图2.1所示的系统功能解释如下:图书录入,包括图书的基本信息,如分类、进价、售价、作者等。
图书销售,包括图书的售价、折扣、销售日期,并实现对库存量的修改.销售统计,包括按图书类型、书名、作者、出版社等进行统计.查询库存,对指定的某本图书剩余库存量进行查询.售完图书查询,对已售完图书进行查询。
基于PLC的图书馆智能流通管理系统
基于PLC的图书馆智能流通管理系统
刘伟成;程煜;王洪儒
【期刊名称】《自动化博览》
【年(卷),期】2018(000)0z1
【摘要】设计了一种图书流通系统,使图书管理和流通的过程自动化、智能化.该系统集成了基于三菱MFC的图书管理上位机管理软件、条码输入设备和基于PLC的图书流通车等子系统;采用上位机软件来实现图书信息管理和流通车控制,流通车使用三轴滑台结构来进行书本的借还操作,辅助以动力装置实现远程、自动化借还书.【总页数】3页(P29-31)
【作者】刘伟成;程煜;王洪儒
【作者单位】东南大学,江苏南京 210096;东南大学,江苏南京 210096;东南大学,江苏南京 210096
【正文语种】中文
【相关文献】
1.基于RFID技术的图书馆智能管理系统设计与实现——以河南省少年儿童图书馆智能管理系统为例 [J], 唐相平
2.公共仓库中基于RFID的流通加工智能管理系统 [J], 何恩东;屈挺;王宗忠;罗浩;黄国全
3.基于客户/服务器结构的图书馆流通管理系统设计 [J], 赵屹;章磊
4.基于图书智能管理系统的流通工作探讨
——以中国农业大学图书馆为例 [J], 杨学红;贺玢;王鲁燕
5.基于图书智能管理系统的流通工作探讨——以中国农业大学图书馆为例 [J], 杨学红;贺玢;王鲁燕
因版权原因,仅展示原文概要,查看原文内容请购买。
MFC引入lib库
vc引入lib库(转)1、问题阐述MFC编写程序,都要用到动态链接库,MFC相关的动态库有MFCD42和MFC42等,MFC框架程序已经自动加载,那么如何引入第三方的动态链接库到工程中呢?2、设置技巧静态链接库是要先把程序中所需要使用的函数编译成机器码,保存在*.lib文件中。
编译器会去*.lib中找出所需要的函数,并把这些函数的机器码复制一份,放在可执行文件中。
将lib库引入工程,有下面3种方法。
第一种方法,lib文件直接加入到工程文件列表中。
在VC中打开“File View”一页,选中工程名,单击鼠标右键,然后在弹出的快捷菜单中选择【Add Files to Project】命令,在弹出的文件对话框中选中要加入dll的lib文件即可。
第二种方法,设置工程的【Project】菜单【Settings】来加载dll的lib文件打开工程的【Project】菜单的【Settings】,选中【Link】,然后在“Object/library modules”下的文本框中输入dll的lib文件。
第三种方法,预编译指令导入加入预编译指令#pragma comment(lib,”*.lib”),这种方法优点是可以利用条件预编译指令链接不同版本的lib文件。
因为,在Debug方式下,产生的lib文件是Debug版本,如Regd.lib;在Release方式下,产生的lib文件时Release 版本,如Regr.lib。
当应用程序对dll的 lib文件加载后,还需要把dll对应的头文件(*.h)包含到其中,在这个头文件中给出了dll中定义的函数原型,然后根据对函数原型的声明,就可以使用dll中的函数,代码参考如下:引入库test.lib,在程序的根目录下包含文件test.dll。
#pragma commenct(lib,”test.lib”)#include “test.h”按照上面的方法在工程中引入库test.lib后,就可以调用test库中的函数了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BookMDlg.h #pragma once
#include "CBookDataSet.h" #include "atltime.h" #include "afxdtctl.h" // CBookMDlg dialog
class CBookMDlg : public CDialogEx { DECLARE_DYNAMIC(CBookMDlg)
public: CBookMDlg(CWnd* pParent = NULL); // standard constructor virtual ~CBookMDlg();
// Dialog Data enum { IDD = IDD_BOOK_MAINTAIN };
protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
DECLARE_MESSAGE_MAP() private: CString m_strBookNameQ; CString m_strBookIdQ; CString m_strBookName; CString m_strBookId; CString m_strBookPress; CString m_strBookAuthor; CString m_strCanBorrow; CBookDataSet bookDataSet; public: void DisplayRecord(void); void SetButtonState(void); afx_msg void OnBnClickedBtnSearch(); afx_msg void OnBnClickedBtnReturn(); afx_msg void OnBnClickedBtnFirst(); afx_msg void OnBnClickedBtnPrev(); afx_msg void OnBnClickedBtnLast(); afx_msg void OnBnClickedBtnNext(); afx_msg void OnBnClickedBtnAdd(); afx_msg void OnBnClickedBtnEdit(); afx_msg void OnBnClickedBtnSave(); afx_msg void OnBnClickedBtnCancel(); afx_msg void OnBnClickedBtnDelete();
virtual BOOL OnInitDialog(); private: bool m_bAdd; bool m_bEdit; CTime m_tPressDate; CRect m_rect; CWnd* m_pParent; public: CDateTimeCtrl PressDateCtrl; afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnDestroy(); afx_msg void OnBnClickedCancel(); }; CBookDataSet.h // CBookDataSet.h : Declaration of the CBookDataSet
#pragma once // code generated on 2010年5月17日, 19:44 class CBookDataSet : public CRecordset { public: CBookDataSet(CDatabase* pDatabase = NULL); DECLARE_DYNAMIC(CBookDataSet)
// Field/Param Data // The string types below (if present) reflect the actual data type of the // database field - CStringA for ANSI datatypes and CStringW for Unicode // datatypes. This is to prevent the ODBC driver from performing potentially // unnecessary conversions. If you wish, you may change these members to // CString types and the ODBC driver will perform all necessary conversions. // (Note: You must use an ODBC driver version that is version 3.5 or greater // to support both Unicode and these conversions).
CStringW m_BOOK_ID; CStringW m_BOOK_NAME; CStringW m_AUTHOR; CStringW m_PRESS; CTime m_PRESS_DATE; CStringW m_FLAG_BORROW; // Overrides // Wizard generated virtual function overrides public: virtual CString GetDefaultConnect(); // Default connection string
virtual CString GetDefaultSQL(); // default SQL for Recordset virtual void DoFieldExchange(CFieldExchange* pFX); // RFX support
// Implementation #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif }; CBorrowDataSet.h // CBorrowDataSet.h : Declaration of the CBorrowDataSet
#pragma once // code generated on 2010年5月18日, 9:15 class CBorrowDataSet : public CRecordset { public: CBorrowDataSet(CDatabase* pDatabase = NULL); DECLARE_DYNAMIC(CBorrowDataSet)
// Field/Param Data // The string types below (if present) reflect the actual data type of the // database field - CStringA for ANSI datatypes and CStringW for Unicode // datatypes. This is to prevent the ODBC driver from performing potentially // unnecessary conversions. If you wish, you may change these members to // CString types and the ODBC driver will perform all necessary conversions. // (Note: You must use an ODBC driver version that is version 3.5 or greater // to support both Unicode and these conversions).
CStringW m_READER_ID; CStringW m_BOOK_ID; CTime m_BORROW_DATE; CStringW m_B_CLERK_ID; long m_ID; CStringW m_BOOK_NAME; // Overrides // Wizard generated virtual function overrides public: virtual CString GetDefaultConnect(); // Default connection string
virtual CString GetDefaultSQL(); // default SQL for Recordset virtual void DoFieldExchange(CFieldExchange* pFX); // RFX support
// Implementation #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif
}; CClerkDataSet.h // CClerkDataSet.h : Declaration of the CClerkDataSet
#pragma once // code generated on 2010年5月9日, 21:56 class CClerkDataSet : public CRecordset { public: CClerkDataSet(CDatabase* pDatabase = NULL); DECLARE_DYNAMIC(CClerkDataSet)
// Field/Param Data // The string types below (if present) reflect the actual data type of the // database field - CStringA for ANSI datatypes and CStringW for Unicode // datatypes. This is to prevent the ODBC driver from performing potentially // unnecessary conversions. If you wish, you may change these members to // CString types and the ODBC driver will perform all necessary conversions. // (Note: You must use an ODBC driver version that is version 3.5 or greater // to support both Unicode and these conversions).