《Visual C++.NET程序设计教程与上机指导》第11章:数据库编程
VisualC程序设计与上机指导
8.1.3 打印过程
一个打印作业由以下几步构成: (1) 如 果 执 行 打 印 预 览 命 令 , 框 架 窗 口 将 调 用 CView::OnPreparePrinting()函数,创建与当前默认打印机相关的设 备描述对象,对CPrintInfo类中的一些成员变量赋值或调用类成员函 数来控制打印的方式,调用DoPreparePrinting()函数。
BEGIN_MESSAGE_MAP(CMyPrintView, CScrollView) ……
// Standard printing commands ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
// default preparation return DoPreparePrinting(pInfo); } void CMyPrintView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add extra initialization before printing } void CMyPrintView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add cleanup after printing }
8.1 基本打印功能
在使用应用程序向导(AppWizard)生成应用程序的过程中,如果 在第四步不取消对打印和打印预览的设置,那么应用程序就已经具备 了简单的打印和打印预览功能。
第11章 数据库编程
2020/6/17 Visual C++程序设计与应用教程
第11章 数据库编程
15
ODBC API ODBC 驱动程序
是一些DLL,提供ODBC和数据库之间的接口。 数据源
包含数据库位置和数据库类型等信息,实际上 是一种数据连接的抽象。
2020/6/17 Visual C++程序设计与应用教程
第11章 数据库编程
年龄
INTEGER,
系别
CHAR(8)
)
2020/6/17 Visual C++程序设计与应用教程
第11章 数据库编程
8
2.数据操纵
SQL中的数据操纵语言是一组操纵表中数据的语句,包括 插入记录语句INSERT、删除记录语句DELETE和更新记录语句 UPDATE。
插入记录语句INSERT
在指定表的尾部添加一条包含指定字段值的新记录。一般 格式:
下面是查找记录集对象stuSet中年龄为20的记录:
stuSet.m_strFilter=”年龄=20”;
2020/6/17 Visual C++程序设计与应用教程
2020/6/17 Visual C++程序设计与应用教程
第11章 数据库编程
3
11.1.1 数据库和数据库管理系统
数据库:
是以一定的组织方式将相关的数据组织在一起,存放 在计算机外存储器上,能为多个户共享的与应用程序彼 此独立的一组相关数据的集合。
数据库管理系统:
是一种操纵和管理数据库的软件系统,简称DBMS, 例如FoxPro、SQL Server、Oracle、Sybase、Access 等都是比较常见的数据库管理系统。在数据库管理系统的 支持下,数据完全独立于应用程序,并且能被多个用户或 程序共享,其关系如图所示。
《Visual C++.NET程序设计教程与上机指导》第4章:Windows程序设计
平台软件开发工具包(SDK)的Win32 API编写各种 用Windows平台软件开发工具包 平台软件开发工具包 的 编写各种 Windows应用程序,有其共同的规律:首先是编写WinMain函数, 应用程序,有其共同的规律:首先是编写 函数, 应用程序 函数 编写处理消息和事件的窗口过程WndProc,在WinMain里头注册窗 , 编写处理消息和事件的窗口过程 里头注册窗 口(Register Window),创建窗口,然后开始应用程序的消息循环。 ,创建窗口,然后开始应用程序的消息循环。
Windows程序与其他类型程序的不同点就是消息。例如DOS程序, 程序与其他类型程序的不同点就是消息。例如 程序, 程序与其他类型程序的不同点就是消息 程序 要等待(有时也称为检测 可能的输入 如键盘或鼠标, 要等待 有时也称为检测)可能的输入,如键盘或鼠标,如果程序检测 有时也称为检测 可能的输入, 不到鼠标,就不会对鼠标的动作做出相应的反应。而在 不到鼠标,就不会对鼠标的动作做出相应的反应。而在Windows程序 程序 中以消息作为媒介,在操作系统中用消息来告诉应用程序有情况发 中以消息作为媒介, 生了。例如,用户按下了某个键,单击或移动了鼠标、 生了。例如,用户按下了某个键,单击或移动了鼠标、打印机可用 了等等。一个窗口 每一个元素都是一个窗口 每一个元素都是一个窗口)也可以发送消息给另一 了等等。一个窗口(每一个元素都是一个窗口 也可以发送消息给另一 个窗口, 个窗口,大多数窗口对消息的反应是发送一条略微不同的消息给另 外一个窗口。 外一个窗口。
返回
4.1.3 Windows程序流程 Windows程序流程
平台软件开发工具包(SDK)的Win32 API编写各种 用Windows平台软件开发工具包 平台软件开发工具包 的 编写各种 Windows 应用程序,有其共同的规律:首先是编写 应用程序,有其共同的规律:首先是编写WinMain函数, 函数, 函数 编写处理消息和事件的窗口过程WndProc,在WinMain里头注册窗 , 编写处理消息和事件的窗口过程 里头注册窗 口(Register Window),创建窗口,然后开始应用程序的消息循环。 ,创建窗口,然后开始应用程序的消息循环。
Visual-C#.NET程序设计教程(第二版)课后答案
第1章 C#概述
1. 单项选择题
2. 判断题
第2章 C#程序设计基础
1. 单项选择题
2. 多项选择题
第3章 C#程序的流程控制1. 单项选择题
2. 多项选择题
第4章面向对象的程序设计入门1. 判断题
2. 单项选择题
3. 多项选择题
第5章面向对象的高级程序设计1. 判断题
2. 单项选择题
第6章集合、索引器与泛型
1. 判断题
2. 单项选择题
第7章程序调试与异常处理1.判断题
2.单项选择题
第8章基于事件驱动的程序设计技术1.判断题
2.单项选择题
第9章多线程和异常编程1.判断题
2.单项选择题
第10章Windows程序的界面设计1. 单项选择题
2. 判断题
第11章数据库编程技术
1. 单项选择题
2. 判断题
第12章文件操作与编程技术1. 单项选择题
2. 判断题
第13章网络应用编程技术1. 单项选择题
2. 判断题
第14章多媒体编程技术1. 单项选择题
2. 判断题。
《Visual_C++.NET程序设计教程与上机指导》课件
图1.15 标准工具栏
返回
1.3.3 解决方案资源管理器
如图1.16 ,【解决方案资源管理器】窗口以图形方式显示了组 成项目的所有文件,Visual C++ .NET中属于同一应用程序的所有项 目称作解决方案。以前版本(如Visual C++ 6.0) 中同一应用程序中的 所有项目组成的一个整体叫作工程,它们的意思差不多,只是换了 一个名字。【解决方案资源管理器】窗口中显示了每个解决方案中 文件的树状查看列表,包括各个项目的引用、源文件、头文件、资 源文件、配置文件和帮助文件。双击相应的选项,Visual C++ .NET 自动用合适的编辑器打开它,可以进行任意的修改。如果要给解决 方案添加一些项目,可在解决方案上面右击,选择弹出式菜单中相 应的选项可以添加所要的项目。如果该窗口已经被关闭,则可以菜 单命令【视图】|【解决方案资源管理器】来打开。
表1.1 安装Visual Studio .NET 2003的系统要求
返回
图1.1 Visual Studio .NET安装程序
返回
1.3 Visual C++ .NET开发界面简介
单击Windows的【开始】|【程序】| Microsoft Visual Studio .NET 2003命 令,Microsoft Visual Studio .NET 2003 即可以启动 。其启动的初始界面如 图1.2所示。
1.3.1 菜单栏
Visual C++ .NET的主菜单栏包括9个菜单项,这些菜单项可以完
成几乎所有的任务,因此了解并掌握这些菜单命令是必要的。请注 意,Visual C++ .NET的菜单会根据当前打开不同的对象而有一些变
《Visual C .NET程序设计教程与上机指导》第1章:概述.ppt
返回
图1.3 【新建项目】对话框
单击【确定】按钮,即可进入如图1.4所示的【MFC应用程序向导】对 话框。在这里共有7个步骤供选择,由于后面会详细讲解向导的创建步骤, 所以现在都用默认值,直接单击【完成】按钮即可创建一个多文档应用程 序项目。
返回
图1.4 【MFC应用程序向导】对话框
可以在【解决方案资源管理器】视图中点开所生成的项目,即可看到 本项目所包含的文件(如果找不到,可以单击菜单【视图】|【解决方案资源 管理器】即可出现)。可以双击文件Jiao1_1.cpp,在中央的编辑器界面中进 行代码的编写。其界面如图1.5所示。
返回
返回
图1.17 【类视图】窗口
1.3.5 资源视图
【资源视图】窗口是程序员在Visual C++ .NET中管理资源的地 方,它以树形视图的结构把解决方案中的所有资源都一项一项地列 出来了,给人以非常直观和清晰的感觉。
返回
1.3.6 动态帮助
图1.19所示为【动态帮助】窗口,它提供了非常强大的智能帮助 功能来帮助开发应用程序,如果在编辑框中选中不清楚的类或者类 的属性或方法时,帮助视图中就提供选择项的帮助提示功能,可以 单击相应的提示项来详细地了解该项的说明,使用非常贴心,是程 序员编程的好帮手。还可以单击示例和开始项下面的相应项来学习 有关知识。如果在Visual C++ .NET编程遇到困难时,第一个想到的 帮助者就是Visual C++ .NET提供的动态帮助功能,也可以打开 MSDN 2003来提供帮助。
《Visual C++.NET程序设计教程与上机指导》第9章:图形图像编程
教学提示:本章主要介绍图形图像编程的基本概念,如设备环境、 教学提示:本章主要介绍图形图像编程的基本概念,如设备环境、 坐标系统,介绍了图形设备接口、绘图工具、绘图函数、位图的应用, 坐标系统,介绍了图形设备接口、绘图工具、绘图函数、位图的应用, 并结合实例介绍了基于 .NET框架的 框架的GDI+编程方法。 编程方法。 框架的 编程方法
9.2.5 编写一个简单的绘图程序MyPainter 编写一个简单的绘图程序MyPainter
通过上面的学习,我们了解了 绘图工具的基本用法。 通过上面的学习,我们了解了GDI绘图工具的基本用法。下面我们 绘图工具的基本用法 来建立一个简单的绘图程序: 来建立一个简单的绘图程序:MyPaint,它实现鼠标绘图的功能。要实 ,它实现鼠标绘图的功能。 现鼠标绘图,可以这样考虑:鼠标左键按下时开始绘图,记录下当时的 现鼠标绘图,可以这样考虑:鼠标左键按下时开始绘图, 坐标作为起点;鼠标移动时, 坐标作为起点;鼠标移动时,每移动到一个新位置就从起点画一条直线 到该新位置,然后把当前位置又作为新的起点;鼠标左键松开时, 到该新位置,然后把当前位置又作为新的起点;鼠标左键松开时,绘图 结束。 结束。
返回
9.2.4 使用字体工具CFont 使用字体工具CFቤተ መጻሕፍቲ ባይዱnt
Windows字体的信息是用 字体的信息是用LOGFONT结构描述的。LOGFONT结 结构描述的。 结 字体的信息是用 结构描述的
构使用了14个字段保存完整的字体信息描述,如表9.3所示。 构使用了 个字段保存完整的字体信息描述,如表 所示。 个字段保存完整的字体信息描述 所示
返回
表9.3 LOGFONT结构包含的字体信息 字 段 lfHeight lfWidth lfEscapement lfOrientation lfWeight lfItalic lfUnderline lfStrikeOut lfCharSet lfOutPrecision lfClipPrecision lfQuality lfPitchAndFamily lfFaceName 返回 描 述 字体高度 字体宽度 画文本的角度 字体倾斜的角度 字体的粗细 是否斜体,非零表示斜体 是否有下划线,非零表示有下划线 是否镂空,非零表示字体镂空 字体字符集 如何匹配字体 如何剪贴字体 字体的打印质量 字体间距和字体族 字体名称
《Visual C++.NET程序设计教程与上机指导》第14章:软件的安装和部署
返回
(9) 打开 打开Visual C# .NET的【生成】菜单,单击【生成解决方案】,系 的 生成】菜单,单击【生成解决方案】 统就会在指定项目位置下生成一个Install.msi、Setup.Exe等安装文件, 、 等安装文件, 统就会在指定项目位置下生成一个 等安装文件 所示。 如图14.7所示。 所示 (10) 在该目录下单击 在该目录下单击Setup.Exe,就可以运行刚才制作的安装程序,如 ,就可以运行刚才制作的安装程序, 所示。 图14.8所示。 所示 (11) 单击【下一步】按钮,进入【选择安装文件夹】对话框,如图 单击【下一步】按钮,进入【选择安装文件夹】对话框, 14.9所示。 所示。 所示 (12) 单击【下一步】按钮,进入【确认安装】对话框,如图14.10所示 单击【下一步】按钮,进入【确认安装】对话框, 所示 (13) 单击【下一步】按钮,系统开始安装,并显示安装进度,最后显 单击【下一步】按钮,系统开始安装,并显示安装进度, 示安装完成对话框。 示安装完成对话框。
返回
图14.1 【新建项目】对话框
返回
图14.2 安装向导的第1步 返回
图14.3 选择项目类型 返回
图14.4 选择项目包含的文件 返回
图14.5 创建项目信ቤተ መጻሕፍቲ ባይዱ提示 返回
图14.6 合并模块选择图 返回
图14.7 项目生成图 返回
图14.8 安装向导的欢迎页面 返回
图14.9 【选择安装文件夹】对话框 返回
(4) 单击【下一步】按钮,将显示安装向导的第2步,如图14.3所示。 单击【下一步】按钮,将显示安装向导的第 步 所示。 所示 在这个对话框中有安装项目类型及重新发布的邮件包的类型的选择, 在这个对话框中有安装项目类型及重新发布的邮件包的类型的选择, 在这里选择【创建用于 应用程序的安装程序】 在这里选择【创建用于Windows应用程序的安装程序】单选按钮。 应用程序的安装程序 单选按钮。 (5) 单击【下一步】按钮,显示安装向导的第3步,如图14.4所示。在 单击【下一步】按钮,显示安装向导的第 步 所示。 所示 其中单击【添加】按钮可以添加要发布的相关文件。 其中单击【添加】按钮可以添加要发布的相关文件。 (6) 单击【下一步】按钮,显示安装向导的第4步,如图14.5所示。 所示。 单击【下一步】按钮,显示安装向导的第 步 所示 (7) 单击【完成】按钮,完成基本框架创建。 单击【完成】按钮,完成基本框架创建。 (8) 选择 选择Visual .NET菜单【项目】|【添加】|【合并模块】,选定用于 菜单【 菜单 项目】 【添加】 【合并模块】 MFC应用程序本地化支持的模块:VC_User_MFC71_Loc_RTL_X86_应用程序本地化支持的模块: 应用程序本地化支持的模块 --.msm,单击【打开】按钮。如图14.6所示。 ,单击【打开】按钮。 所示。 所示
数据库编程
4.2 SQL查询基础
SQL是Structured Query Language(结构化查询 语言)的缩写。 SQL是专为数据库而建立的操作命令集,是一种功 能齐全的数据库语言。
SQL命令 Select 说 明 查询数据,即从数据库中返回记录集
Insert
Update Delete Create
向数据表中插入一条记录
Visual C# .NET 程序设计教程
第4章
4.1
4.2 4.3 4.X
数据访问技术
数据库基础
SQL查询基础 使用 对象
4.1 数据库基础知识(1)
4.1.1 有关数据库的概念
1.数据库:所谓数据库(Database)是指一组排列 成易于处理或读取的相关信息,它是由一个或多个表 对象组成的集合。这有些类似于Excel的工作簿和工 作表。 2.数据库管理系统:DBMS 3.数据库应用程序:数据库应用程序是指用VB、 Delphi等开发工具设计的、实现某种特定功能的应用 程序。
providerName="System.Data.OleDb" />
• Accesss数据源的其他说明:
– 是否包含在项目中 – 如果包含在项目中,是否复制
4.5 DataAdapter
• 数据适配器
DataAdapter(续一)
• 主要作用: • 构造方法
– OledbDataAdapter cmd=new OledbDataAdapter(sql,conn);
– State,返回数据库的状态
• 主要方法:
– Open,Close,BeginTransaction
4.4 Connection对象(使用示例)
Visual Basic程序设计基础教程与上机指导第11课
/webnew/
动态链接库的使用
1、声明DLL过程; 2、向DLL过程传递特殊类型的数据;
/webnew/
向DLL过程传递特殊类型的 数据
(1)字符串; (2)数组; (3)自定义数据类型; (4)传递特殊的值;
第十一课 动态链接库
(时间:1学时)
/webnew/
概述
本课内容
1、什么是动态链接库; 2、动态链接库的使用;
学习目标
1、了解动态链接库; 2、掌握动态链接库的使用;
/webnew/
概述
学习重点
动态链接库的使用;
Hale Waihona Puke /webnew/小结
1、使用声明DLL过程; 2、在向DLL过程传递一些“特殊”类型的数据 时需要注意一些额外的问题;
/webnew/
综合练习
练习动态链接库的使用,主要是实现鼠标 操作的Mouse Enter 和Mouse Exit事件;
学习难点
1、使用DLL的优点; 2、动态链接库的使用;
/webnew/
什么是动态链接库
1、基本概念; 2、使用DLL的优点;
/webnew/
小结
1、介绍动态链接库的基本概念; 2、介绍使用DLL的优点;
/webnew/
总结
动态链接库的基本概念,Windows环境下动态 链接库的基本使用方法。在综合练习中,通 过实例对所学知识点进行练习。
/webnew/
《Visual C#.NET开发技术原理与实践教程》--第11章书稿
第11章类QQ游戏大厅的网络五子棋QQ游戏大厅是集棋牌一体的游戏客户端,用户可以通过游戏大厅迅速进入游戏,与来自世界各地的玩家同竞技,共欢乐。
本章介绍如何开发具有类QQ游戏大厅的网络五子棋游戏。
11.1 功能需求分析一、基本功能需求登陆功能。
服务器机器启动服务器程序后,在其他机器上运行客户端,选择服务器IP连接服务器,连接成功后,输入正确注册用户名和密码就可以通过验证。
平台大厅。
显示在线用户信息,相当于聊天室,可以聊天。
游戏窗体。
在大厅通过点击房间,就可以进入二人游戏房间,在这里将单独建立客户与客户,客户与服务器间的网络通讯。
用户通过界面对游戏进行操作,操作的结果通过网络传输给对方,实现双方互动。
功能包括“开始”、“重新开始”、“认输”及“聊天”功能。
完成对弈判断输赢,玩家分数等级统计功能。
服务器端。
设置开放端口,显示已登陆用户,响应客户注册,验证等各类信息,建立用户信息数据库,群发系统消息。
二、用户需求单机的游戏已经远远不能满足我们的需求,我们需要的是网络互动,能够多人通过网络联系在一起,形成一个网络互动效果。
制造出一种逼真的网络环境,形成一个“真实”的并能够相互交流的虚拟世界。
11.2 系统设计经过需求分析阶段的工作以后,就是必须要决定现在“怎么做”的时候了。
总体设计的基本目的就是回答“系统到底该如何实现?”这个问题的,因此总体设计又称为初步设计。
总体设计的另外一项重要的任务就是设计软件的结构,也就是要确定软件系统中每个程序到底该由哪些模块组成的,以及这些模块之间的关系。
一、系统结构本系统是利用.Net平台上的类库并采用C/S模式实现的。
C/S模式即客户端和服务器端建立套接字来实现通讯。
任何一个系统都离不开总体设计,而系统结构体系图正是总体设计的灵魂,设计一个好的系统,首先就必须要一个简单明了的结构体系图。
本系统就是采用常见的C/S开发模式。
图11-1就是本项目的结构体系图:图11-1 系统总设计图C/S是指Client/Server结构,简单的只有客户端和服务器两层,复杂一点的可以分为客户端、应用服务器和数据服务器三层,其中应用服务器单独处理商业规则,数据服务器处理数据存储,通常是数据库服务器。
《Visual C .NET程序设计教程与上机指导》第11章:数据库编程
返回
(2) 单击【添加】按钮,则会弹出一个【创建新数据源】对话框。
在该对话框中选择Microsoft Access Driver (*.mdb),然后单击【完 成】按钮,如图11.5所示。
(3) 接下来会显示一个ODBC Microsoft Access安装对话框,如图11.6
所示,该对话框用来把数据库与一个数据源名连接起来。在【数据 源名】文本框中输入“My database for VC”,然后单击【选择…】 按钮,在随后弹出的对话框中找到并选择student.mdb。连续单击 【确定】按钮后,一个名为My databaye for VC的新数据源就被注 册到了管理器中。
序应调用IsOpen来判断记录集是否已建立。函数声明为:
virtual BOOL Requery ( ); throw ( CDBException, CmemoryException );
返回TRUE表明记录集建立成功,否则返回FALSE。若函数内部出错
则产生异常。 返回
5. 记录的过滤和排序
CRecordset 类有两个公共数据成员m_strFilter和m_strSort用来 设置对记录的过滤和排序。在调用Open或Requery前,如果在这两个 数据成员中指定了过滤或排序,那么Open和Requery将按这两个数据 成员指定的过滤和排序来查询数据源。
● void SetAbsolutePosition ( long nRows);
返回
7. 修改记录
要修改当前记录,应该按下列步骤进行: (1) 调用Edit成员函数。调用该函数后就进入了编辑模式,程序可以 修改域数据成员。 (2) 设置域数据成员的新值。 (3) 调用Update完成编辑。Update把变化后的记录写入数据库并结 束编辑模式。
第11讲 简单数据库编程
图14-5 插入前的student表中的数据
图14-6 插入后的student表中的数据
3.DataReader对象及其使用 的DataReader对象可以从数据库中 检索只读、只进的数据流,实现对数据源中 的数据高速、只向前的访问。
(1)DataReader对象的常用属性
FieldCount属性 RecordsAffected属性
在Windows平台下主要有4种数据库访问方式: OLEDB模式、ODBC模式、SQLClient模式和Oracle数据库模 式,每一种模式都有前述对象模型的一种实现。 ● OLEDB模式 OLEDB模式主要用于访问OLEDB所支持的数据库。 在使用OLEDB模式时需要引入的命名空间有System.Data和 System.Data.OleDb,对应于对象模型中的对象, OLEDB模式的对象名称分别为OleDbConnection对象, OleDbCommand对象,OleDbDataAdapter对象和 OleDbDataReader对象。
1数据提供程序
.Net数据提供程序提供了四个核心对象:Connect,
Command, DataReader, DataAdapter
对象模型的结构
2. 数据集 数据集(DataSet)是记录在内存中的数据,它的 结构如图所示。
数据库开发方式
1.了解数据库开发
[格式2]:public override int Update(DataSet dataSet,string Table);
图14-7 程序设计界面
图14-8 程序运行界面
4.DataAdapter对象及其使用
DataAdapter通过使用Command和Connection对象在数 据源和数据集(DataSet)两者之间构成一座桥梁。即结 合DataSet使用,使得DataSet“连接”到数据源中,以便 检索和保存数据。 本质上DataAdapter是容器,它含有4个预先配置好的 Command实例,即SelectCommand、InsertCommand、 DeleteCommand和UpdateCommand。
《Visual C++.NET程序设计教程与上机指导》第5章:文档、视图模型
5.1.2 访问当前活动文档和视图
对于SDI程序,主框架窗口就是文档框窗体,可以采用以下的方 程序,主框架窗口就是文档框窗体, 对于 程序 法取得当前文档和视图: 法取得当前文档和视图: ●取得活动文档 CMyDocument *pDoc; pDoc=(CMyDocument*)((CFrameWnd*)AfxGetApp()>m_pMainWnd)->GetActiveDocument()); ●取得活动视图 CMyView *pView; pView =( CMyView *)((CFrameWnd*)AfxGetApp()->m_pMainWnd)>GetActiveView());
第5章 文档/视图模型 文档/
教学提示:在本章中,主要讲述利用 教学提示:在本章中,主要讲述利用Visual C++ .NET编写 编写 Windows应用程序时,经常会用到的一个非常重要的模型:文档 视图 应用程序时, 应用程序时 经常会用到的一个非常重要的模型:文档/视图 模型,它对应着CDocument和CView类。本章还结合这两个类和 模型,它对应着 和 类 本章还结合这两个类和Visual C++ .NET的应用程序向导引导读者如何快速建立单文档和多文档的窗 的应用程序向导引导读者如何快速建立单文档和多文档的窗 口应用程序。学习完这些内容后,读者将会对Visual C++ .NET中的文 口应用程序。学习完这些内容后,读者将会对 中的文 视图模型有一个比较全面的了解。 档/视图模型有一个比较全面的了解。 视图模型有一个比较全面的了解 教学目标:掌握文档视图模型的概念;掌握 教学目标:掌握文档视图模型的概念;掌握CDocument和CView 和 类的使用方法;掌握使用向导程序来构造单文档和多文档应用程序。 类的使用方法;掌握使用向导程序来构造单文档和多文档应用程序。 通过上机实践,初步掌握上述内容。 通过上机实践,初步掌握上述内容。
《Visual C++.NET程序设计教程与上机指导》第7章:对话框的使用
7.4 .NET环境中对话框的数据交换和数据检查 .NET环境中对话框的数据交换和数据检查
对话框的数据成员变量存储了与控件相对应的数据, 对话框的数据成员变量存储了与控件相对应的数据,数据变量需要 和控件交换数据,以完成输入或输出功能。例如: 和控件交换数据,以完成输入或输出功能。例如:一个编辑框既可以用 来输入,也可以用来输出。用作输入时,用户在其中输入了字符后, 来输入,也可以用来输出。用作输入时,用户在其中输入了字符后,对 应的数据成员应该更新;用作输出时, 应的数据成员应该更新;用作输出时,应及时刷新编辑框的内容以反映 相应数据成员的变化。对话框需要一种机制来实现这种数据交换功能, 相应数据成员的变化。对话框需要一种机制来实现这种数据交换功能, 这对对话框来说是至关重要的。 这对对话框来说是至关重要的。 MFC提供了类 提供了类CDataExchange来实现对话框类与控件之间的数据交 提供了类 来实现对话框类与控件之间的数据交 换(DDX),该类还提供了数据有效机制 ,该类还提供了数据有效机制(DDV)。数据交换和数据有效机制 。 适用于编辑框、复选框、单选按钮、列表框和组合框。 适用于编辑框、复选框、单选按钮、列表框和组合框。
7.5.1 文件选择对话框
如果应用程序涉及到对文件的操作,一般都会使用到文件对话框。 如果应用程序涉及到对文件的操作,一般都会使用到文件对话框。 它的使用率远远超过了通用对话框中的其他对话框。下面,介绍一下如 它的使用率远远超过了通用对话框中的其他对话框。下面, 何应用文件选择对话框。 何应用文件选择对话框。
7.7 上 机 指 导
在本次上机指导中,针对前面几节中的内容进行实际上机练习。 在本次上机指导中,针对前面几节中的内容进行实际上机练习。 其主要内容包括:有模式对话框的使用、无模式对话框的使用, 其主要内容包括:有模式对话框的使用、无模式对话框的使用,以及 对话框的数据交换处理和如何用向导添加资源对话框使用等。 对话框的数据交换处理和如何用向导添加资源对话框使用等。 7.7.1 有模式对话框的使用 7.7.2 无模式对话框的使用
“Visual C#.NET程序设计”学习指南
“Visual C#.NET程序设计”学习指南一、课程学习目标《Visual C#.NET程序设计》是基于微软.NET平台下的面向对象程序设计技术,本课程是软件技术专业.NET方向的核心课程。
通过本课程的学习使学生掌握.NET框架技术的基本概念、基本理论和方法,能够运用C#.NET程序设计技术,独立设计开发基于C/S模式的中小型计算机应用软件系统。
二、课程链路设计针对.Net初级程序员岗位的知识目标、技能目标、工作规范目标,我们将“Visual C#.NET程序设计”、“WinForms应用开发”、“SQL Server数据库设计和高级查询”三门课程进行了重构、整合,形成C#程序设计基础、窗体编程、面向对象编程、数据库编程、项目实战五大主线,每条主线又由若干个由易到难、知识技能递进的模块组成,并结合学生的认知规律、项目开发的工作过程,将五大主线中的16个模块串联起来,形成本课程的课程链路,如图1-1所示。
图1-1课程链路三、课程学习内容与要求由于本课程学习内容涵盖了C#程序设计的基础知识、窗体编程、数据库编程以及面向对象程序设计的知识与技能,因此课程组精心设计了模块学习指南、上机实训任务书、上机实训指导书、阶段项目实训任务书、模块考核要求等教辅材料,支持帮助学习者学习。
学习者在学习本课程前,首先应对本课程链路有一定的了解,知晓各主线中的模块组成,对课程有个整体概貌认识。
在学习每个模块时,可首先根据模块学习指南了解本模块的学习任务、应达目标、学习实施过程中应注意的重点难点及难点解决方案、参考资料,从而主动把握学习,提高学习效率。
学习者可通过各教学单元提供的贯穿了对应相关知识技能点的典型工作任务的演练,加深对知识的理解掌握。
每个学习单元都设有理实合一的实训项目,学习者可按实训任务书、指导书思考寻找实现项目需求的解决方案,以此完成学习任务,最后可按照课程各阶段评价标准评判学习成效。
各模块学习指南详见附件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5. 记录的过滤和排序
CRecordset 类有两个公共数据成员 类有两个公共数据成员m_strFilter和m_strSort用来 和 用来 设置对记录的过滤和排序。在调用 设置对记录的过滤和排序。在调用Open或Requery前,如果在这两个 或 前 数据成员中指定了过滤或排序,那么 数据成员中指定了过滤或排序,那么Open和Requery将按这两个数据 和 将按这两个数据 成员指定的过滤和排序来查询数据源。 成员指定的过滤和排序来查询数据源。
11.2.1 MFC的主要ODBC类概述 MFC的主要 的主要ODBC类概述
因为CArchive是基于文件的,所以在创建一个CArchive对象之前必 是基于文件的,所以在创建一个 因为 是基于文件的 对象之前必 须要打开一个文件, 构造函数的第一个参数就是文件指针, 须要打开一个文件,CArchive构造函数的第一个参数就是文件指针,其 构造函数的第一个参数就是文件指针 原型如下: 原型如下: CArchive(CFile* pFile, UINT nMode, int nBufSize=4096, void* lpBuf=NULL);
返回
7. 修改记录
要修改当前记录,应该按下列步骤进行: 要修改当前记录,应该按下列步骤进行: (1) 调用 调用Edit成员函数。调用该函数后就进入了编辑模式,程序可以 成员函数。调用该函数后就进入了编辑模式, 成员函数 修改域数据成员。 修改域数据成员。 (2) 设置域数据成员的新值。 设置域数据成员的新值。 (3) 调用 调用Update完成编辑。Update把变化后的记录写入数据库并结 完成编辑。 完成编辑 把变化后的记录写入数据库并结 束编辑模式。 束编辑模式。
返回
1. 动态集、快照、光标和光标库 动态集、快照、
在多任务操作系统或网络环境下,多个用户可以共享同一个数据源。 在多任务操作系统或网络环境下,多个用户可以共享同一个数据源。 共享数据的一个主要问题是如何协调各个用户对数据源的修改。 共享数据的一个主要问题是如何协调各个用户对数据源的修改。 记录集主要分为快照(Snapshot)和动态集 和动态集(Dynaset)两种,CRecordset类 两种, 记录集主要分为快照 和动态集 两种 类 对这两者都支持。 对这两者都支持。这两种记录集的不同表现在它们对别的应用改变数据 源记录采取了不同的处理方法。 源记录采取了不同的处理方法。 快照型记录集提供了对数据的静态视图。快照是个很形象的术语, 快照型记录集提供了对数据的静态视图。快照是个很形象的术语, 就好象对数据源的某些记录照了一张照片一样。 就好象对数据源的某些记录照了一张照片一样。 动态集提供了数据的动态视图, 动态集提供了数据的动态视图,当别的用户修改或删除了记录集中 的记录时,会在动态集中反映出来,当滚动到修改过的记录时, 的记录时,会在动态集中反映出来,当滚动到修改过的记录时,对其所 作的修改会立即反映到动态集中。 作的修改会立即反映到动态集中。 光标库(Cursor Library)是处于 是处于ODBC驱动程序管理器和驱动程序之 光标库 是处于 驱动程序管理器和驱动程序之 间的动态链接库(ODBCCR32.DLL),光标库的主要功能是支持快照以及 间的动态链接库 , 为底层驱动程序提供双向滚动能力。 为底层驱动程序提供双向滚动能力。
返回
6. 滚动记录
CRecordset提供了几个成员函数用来在记录集中滚动,如下所示。 提供了几个成员函数用来在记录集中滚动,如下所示。 提供了几个成员函数用来在记录集中滚动 当用这些函数滚动到一个新记录时, 当用这些函数滚动到一个新记录时,框架会自动地把新记录的内容 复制到域数据成员中。 复制到域数据成员中。 ●void MoveNext( ); ; ● void MovePrev( ); ; ● void MoveFirst( ); ; ● void MoveLast( ); ; ● void SetAbsolutePosition ( long nRows); ;
返回
ID
NAME 小李
BIRTHDAY
SEX 男
1
2001.12.07
2
小张
1980.11.05
女
3
小王
1984.12.08
男
表11.1 表的例子
返回
11.1.2 数据库的几种访问技术
Visual C++ .NET提供了多种访问数据库技术,如下所示: 提供了多种访问数据库技术, 提供了多种访问数据库技术 如下所示: ●ODBC (Open DataBase Connectivity) ● MFC ODBC(Microsoft Foundation Classes ODBC) ● DAO (Data Access Object) ● OLE DB(Object Link and Embedding DataBase) ● ADO、ADO .NET (ActiveX Data Object) 、
返回
11.2.2 CDatabase类的使用 CDatabase类的使用
函数CArchive::Close()用来关闭 用来关闭CArchive,在关闭之前要把缓 函数 用来关闭 , 冲区中的所有数据存入文件,关闭之后中断 冲区中的所有数据存入文件,关闭之后中断CArchive对象与文件的 对象与文件的 联系。当关闭后,不能用它进行任何读写操作。 联系。当关闭后,不能用它进行任何读写操作。必须先关闭 CArchive对象,再关闭与之相联系的文件,否则会出错;换言之, 对象,再关闭与之相联系的文件,否则会出错;换言之, 对象 在关闭一个文件之前必须关闭与之相连的所有CArchive对象。 对象。 在关闭一个文件之前必须关闭与之相连的所有 对象
第11章 数据库编程 11章
教学提示:在这一章中,主要向读者介绍数据库的基本概念、 教学提示:在这一章中,主要向读者介绍数据库的基本概念、数 据库编程的常用技术以及结合数据库操作的实例,使读者能在 据库编程的常用技术以及结合数据库操作的实例,使读者能在Visual C++ .NET开发环境下掌握对数据库操作的方法。本章将重点介绍数据 开发环境下掌握对数据库操作的方法。 开发环境下掌握对数据库操作的方法 库的访问技术, 技术、 技术, 库的访问技术,如ODBC技术、ADO技术,还介绍了如何配置数据源 技术 技术 等。学习完这些内容后,相信读者对Visual C++ .NET环境下的数据库 学习完这些内容后,相信读者对 环境下的数据库 编程将会有一个比较全面的了解。 编程将会有一个比较全面的了解。 教学目标:掌握数据库的基本概念;掌握数据库编程技术的使用; 教学目标:掌握数据库的基本概念;掌握数据库编程技术的使用; 掌握注册数据源的方法;通过上机实践, 掌握注册数据源的方法;通过上机实践,初步掌握上述内容的灵活运 用。
返回
4. Requery成员函数 Requery成员函数
建立记录集后,用户可以随时调用 建立记录集后,用户可以随时调用Requery成员函数来重新查询 成员函数来重新查询 和建立记录集。 有两个重要用途: 和建立记录集。Requery有两个重要用途: 有两个重要用途 ●使记录集能反映用户对数据源的改变。 使记录集能反映用户对数据源的改变。 ●按照新的过滤或排序方法查询记录并重新建立记录集。 按照新的过滤或排序方法查询记录并重新建立记录集。 在调用Requery之前,可调用CanRestart来判断记录集是否支持 之前,可调用 在调用 之前 来判断记录集是否支持 Requery操作。要记住Requery只能在成功调用 操作。要记住 只能在成功调用Open后调用,所以程 后调用, 操作 只能在成功调用 后调用 序应调用IsOpen来判断记录集是否已建立。函数声明为: 来判断记录集是否已建立。函数声明为: 序应调用 来判断记录集是否已建立 virtual BOOL Requery ( ); throw ( CDBException, , CmemoryException ); 返回TRUE表明记录集建立成功,否则返回FALSE。若函数内部出错 表明记录集建立成功,否则返回 返回 表明记录集建立成功 。 则产生异常。 则产生异常。 返回
11.1 数据库基本概念
11.1.1 数据库、DBMS和SQL概念 数据库、 和 概念
11.1.2 数据库的几种访问技术
11.1.1 数据库、DBMS和SQL概念 数据库、DBMS和SQL概念
数据库是数据的集合,它由一个或多个表组成。 数据库是数据的集合,它由一个或多个表组成。每一个表中都存储 了对一类对象的数据描述, 就是一个典型的表。 了对一类对象的数据描述,表11.1就是一个典型的表。表的每一列描述 就是一个典型的表 了对象的一个属性, 了对象的一个属性,如ID、NAME等,而表的每一行则是对一个对象的 、 等 具体描述。一般将表中的一行称作记录 或行(row),将表的每一 具体描述。一般将表中的一行称作记录(record)或行 或行 , 列称作字段(field)或列 或列(column)。数据库通常还包括一些附加结构用来维 列称作字段 或列 。 护数据。现在普遍使用的一种数据库就是关系数据库。在关系数据库中, 护数据。现在普遍使用的一种数据库就是关系数据库。在关系数据库中, 数据的基本单位是关系,关系就是一张二维表, 数据的基本单位是关系,关系就是一张二维表,数据按行列有规则的排 列、组织。 组织。
Hale Waihona Puke 返回2. 域数据成员与数据交换
CRecordset类代表一个记录集。用户一般需要创建一个 类代表一个记录集。 类代表一个记录集 CRecordset的派生类,为派生的记录集类创建一批数据成员,这些数 的派生类,为派生的记录集类创建一批数据成员, 的派生类 据成员与记录的各字段相对应,被称为字段数据成员或域数据成员。 据成员与记录的各字段相对应,被称为字段数据成员或域数据成员。 域数据成员用来保存某条记录的各个字段,它们是程序与记录之间 域数据成员用来保存某条记录的各个字段, 的缓冲区。域数据成员代表当前记录, 的缓冲区。域数据成员代表当前记录,当在记录集中滚动到某一记 录时, 录时,框架自动地把记录的各个字段复制到记录集对象的域数据成 员中。当用户要修改当前记录或增加新记录时, 员中。当用户要修改当前记录或增加新记录时,程序先将各字段的 新值放入域数据成员中,然后调用相应的 成员函数, 新值放入域数据成员中,然后调用相应的CRecordset 成员函数,把 域数据成员设置到数据源中。 域数据成员设置到数据源中。