VB.NET程序设计(下)ppt.ppt_第1页
VB.NET程序设计(下)ppt.ppt_第2页
VB.NET程序设计(下)ppt.ppt_第3页
VB.NET程序设计(下)ppt.ppt_第4页
VB.NET程序设计(下)ppt.ppt_第5页
已阅读5页,还剩152页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB.NET 程序设计(下),第1章 程序设计基础与集成开发环境 第2章 数据类型 第3章 程序基本控制结构 第4章 过程与模块 第5章 面向对象的基本概念 第6章 图形用户界面设计基础 第7章 文件操作与打印技术 第8章 Windows桌面程序开发实例 第9章 图形图像处理 第10章 多媒体程序开发 第11章 程序调试和异常处理技术 第12章 数据库访问 第13章 综合实例,第9章 图形图像处理,学习目标,了解VB.NET图形操作基础 熟练掌握各种绘图方法 掌握图像处理方法,本章内容,9.1 图形操作基础 9.2 Graphics对象的创建与释放 9.3 坐标系 9.4 颜色设置 9.5 绘图工具 9.6 绘图方法 9.7 字体绘制 9.8 图像处理,9.1 图形操作基础,9.1.1 System.Drawing命名空间的查看 9.1.2 其他命名空间的导入 9.1.3 在VB.NET中绘制图形的基本步骤,9.1 图形操作基础,9.1.1 System.Drawing命名空间的查看 VB.NET中绘制图形主要涉及System.Drawing、System.Drawing.Drawing2D、System.Drawing.Imaging和System.Drawing.Text四个命名空间。其中System.Drawing命名空间在创建VB.NET项目时被自动引用。 选择菜单选项 “视图” “其他菜单” “类视图”打开“类视图”窗口,就可以看到被自动引用的System.Drawing命名空间 。,9.1 图形操作基础,9.1.2 其他命名空间的导入 System.Drawing.Drawing2D、System.Drawing.Imaging和System.Drawing.Text三种命名空间不能被自动引用,如果要利用这些命名空间进行高级绘图,需要在程序开始使用Imports语句导入 。,9.1 图形操作基础,9.1.3 在VB.NET中绘制图形的基本步骤 创建Graphics对象,指定绘图表面。 创建画笔、画刷、填充、字体等绘图工具。 使用方法绘制图形。 释放Graphics对象和各种绘图工具,清屏。本步骤并不是必需的操作。,返回,9.2 Graphics对象的创建与释放,9.2.1 创建Graphics对象 9.2.2 释放Graphics对象和清屏,9.2 Graphics对象的创建与释放,9.2.1 创建Graphics对象 1.使用CreateGraphics方法创建 该创建方法最常用,其格式为: Dim对象名 As Graphics 对象名=窗体名(或控件名).CreateGraphics 2.利用Image 对象创建Graphics对象 Dim 对象名 As Graphics=Graphics.FromImage(“Image图像完整文件名(包括路径和文件名)”) 3.利用PaintEventArgs参数创建Graphics对象 Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint Dim对象名 As Graphics = e.Graphics End Sub,9.2 Graphics对象的创建与释放,9.2.2 释放Graphics对象和清屏 1.释放Graphics对象 Graphics对象使用后应及时删除,以释放该对象占用的资源,使用Dispose方法。 格式:对象名. Dispose() 2.清屏 利用Graphics类的Clear方法可以清除画图工作区的所有内容,并用指定的背景颜色进行填充。 格式:对象名.Clear(颜色),返回,9.3 坐标系,9.3.1 页面坐标系统 9.3.2 全局坐标系统 9.3.3 设备坐标系统,9.3 坐标系,9.3.1 页面坐标系统 页面坐标系是指绘图表面Graphics对象使用的坐标系,它的长度单位是像素,坐标系的原点在绘图表面的左上角,x轴指向右,y轴指向下。页面坐标系是不能更改的,它只是一个参照标准。每个Graphics对象都有各自的页面坐标系。,9.3 坐标系,9.3.2 全局坐标系统 全局坐标系统默认情况下x轴正方向水平向右,y轴正方向垂直向下。该坐标系可以进行平移和旋转,从而更改成日常生活中人们习惯的坐标原点位于绘图表面左下方,x轴正方向水平向右,y轴正方向垂直向上的坐标系统。,9.3 坐标系,9.3.3 设备坐标系统 设备坐标系是进行绘制的物理设备(如屏幕、纸张等)所使用的坐标系。 在显示器中默认坐标系的原点是在屏幕左上角,并且x轴指向右边,y轴指向下边。默认坐标系的度量单位是像素。在显示器中,基本的单位是像素(pixel),在打印机中,基本单位是点(point)。,返回,9.4 颜色设置,9.4.1 系统预定义颜色 9.4.2 自定义颜色和透明度,9.4 颜色设置,9.4.1 系统预定义颜色 Color结构可以表示145种颜色,输入“Color.”后系统自动提示颜色列表,然后选择合适的颜色即可。 例如: Dim userColor as Color userColor = Color.Red 定义为红色,9.4 颜色设置,9.4.2 自定义颜色和透明度 Color类的FromArgb 方法用于实现自定义颜色,使用Color.FromArgb 方法时只需按顺序指定颜色中红色、蓝色和绿色各部分的色值即可,色值中的每个数字均必须是从0到255之间的整数,表示从无色到纯色的256个强度等级,其中0表示没有该颜色, 255则为所指定颜色的完整饱和度;因此,Color.FromArgb(0,0,0) 为黑色,而 Color.FromArgb(255,255,255) 为白色。 例如: Dim userColor as Color userColor = Color.FromArgb(255,0,0) 定义为红色,9.4 颜色设置,9.4.2 自定义颜色和透明度 Color.FromArgb 方法除了可以指定RGB(红、绿、蓝)三色之外,还有一个Alpha参数,Alpha 表示所呈现图形后面的对象的透明度,在Color.FromArgb 方法中四个参数的第一个参数即是Alpha参数,取值范围是从 0 到 255 之间的任一整数,0表示完全透明,255表示不透明。 例如: Dim userColor as Color userColor = Color.FromArgb(128, 255,0,0) 创建自定义的红色,且约为 50% 透明度 Color.FromArgb方法也支持Color结构的颜色表示方法,例如: Color.FromArgb(128, 255,0,0)和Color.FromArgb(128, Color.Red)均表示半透明的红色。,返回,9.5 绘图工具,9.5.1 画笔 9.5.2 画刷 1纯色画刷(SolidBrush) 2阴影画刷(HatchBrush) 3纹理画刷(TextureBrush) 4线性渐变画刷(LinearGradientBrush) 5路径渐变画刷(PathGradientBrush),9.5 绘图工具,9.5.1 画笔 System.Drawing命名空间中提供了Pen类用于绘制线条,即各种图形的边框。该类可以设定绘制线条的颜色、线宽和线条的样式。 格式为: Dim 画笔名称 As New Pen(颜色,宽度) 其中,“画笔名称”应该严格遵守变量名的命名规则。 颜色(Color):画笔绘制的线条的颜色可以通过画笔的Color属性来改变。 宽度(Width):使用该画笔时所绘线条的宽度,默认的画笔宽度是一个像素单位; 样式(DashStyle):画笔绘制图形时的线型,包括实线、虚线、点线以及由点线与虚线组成的点划线、双点划线等多种样式。,9.5 绘图工具,9.5.2 画刷 1纯色画刷(SolidBrush) 纯色画刷(SolidBrush)是指使用单一的颜色作为画刷的颜色, 格式为: Dim 画刷名称 As New SolidBrush(颜色),9.5 绘图工具,9.5.2 画刷 2阴影画刷(HatchBrush) 阴影画刷(HatchBrush)是一种由阴影样式、前景色和背景色属性构成的画刷。 格式如下: Dim 画刷名称 As New HatchBrush(类型, 前景色, 背景色),9.5 绘图工具,9.5.2 画刷 3纹理画刷(TextureBrush) 纹理画笔(TextureBrush)通过使用图像作为图案来填充形状或文本,在定义该画刷前需要选定用来填充的图形文件。 格式如下: Dim 图像名 As Bitmap(图像文件) 或者 Dim 图像名 As Image= Image.FromFile(图像文件,内置颜色) 其中,“图像文件”代表作为填充纹理的图片的路径,“内置颜色”为true时,表示将使用图形文件内置的颜色,否则不使用。,9.5 绘图工具,9.5.2 画刷 3纹理画刷(TextureBrush) 纹理画刷格式如下: Dim 画刷名称 As New TextureBrush(图像名,模式) “模式”是指WrapMode枚举类型,表示当纹理或渐变小于所填充的区域时平铺纹理或渐变的方式。,9.5 绘图工具,9.5.2 画刷 4线性渐变画刷(LinearGradientBrush) 渐变画笔支持复杂底纹。使用LinearGradientBrush,可以创建沿线性渐变的两种颜色平滑、渐进式的画刷。使用该画刷前,导入System.Drawing.Drawing2D名称空间。 格式如下: Dim 画刷名 As New LinearGradientBrush(矩形结构, 颜色1, 颜色2,渐变模式),9.5 绘图工具,9.5.2 画刷 4线性渐变画刷(LinearGradientBrush) 格式如下: Dim 画刷名 As New LinearGradientBrush(矩形结构, 颜色1, 颜色2,渐变模式) 矩形结构:指定线性渐变终结点的Rectangle结构,起点是矩形的左上角,终点是右上角。 颜色1:表示渐变起始色的Color结构。 颜色2:表示渐变结束色的Color结构。 linearGradinentMode:指定渐变方向的LinearGradientMode枚举。枚举中的参数如下: BackwardDiagonal:指定从右上到左下的渐变。 ForwardDiagonal:指定从左上到右下的渐变。 Horizontal:指定从左到右的渐变。 Vertical:指定从上到下的渐变,9.5 绘图工具,9.5.2 画刷 5路径渐变画刷(PathGradientBrush) 对于复杂的路径(如多边形和不规则形状),可以使用PathGradientBrush来填充颜色。,返回,9.6 绘图方法,9.6.1 绘制线条 9.6.2 绘制椭圆、椭圆弧和饼状图形 9.6.3 绘制矩形和多边形,9.6 绘图方法,9.6.1 绘制线条 1.DrawLine 方法 该方法绘制连接两个点的直线,格式: DrawLine(画笔名,x1,y1,x2,y2) 其中(x1,y1)和(x2,y2)分别表示起始点坐标和终止点坐标,坐标值可以是Integer值也可以是Single值。坐标也可采用point结构表示的坐标,格式:DrawLine(画笔名, point1, point2) 2.DrawLines方法 该方法绘制一系列连接一组 Point 结构的线段,它按顺序把每个点都连接起来,构成一段曲线,DrawLines的格式为: DrawLines(画笔名, Point() 其中,Point()参数就是一个由一系列的点构成的数组,Point()中存储的数据可以是Integer型,也可以是Single型。,9.6 绘图方法,9.6.1 绘制线条 3.DrawBezier方法 DrawBezier 方法用于绘制由 4 个 Point 结构定义的贝塞尔曲线。该方法格式如下: DrawBezier(画笔名, x1, y1, x2, y2, x3, y3, x4, y4) 或者 DrawBezier (Pen, Point1, Point2, Point3, Point4) 在第一种格式中,x1, y1为起始点坐标,x2, y2和x3, y3为控制点坐标,这两个坐标用来控制线条的形状,x4, y4为结束点坐标。在第二种格式中,坐标点采用Point 结构表示。 pen它确定曲线的颜色、宽度和样式。 Point1表示曲线的起始点。 Point2表示曲线的第一个控制点。 Point3表示曲线的第二个控制点。 Point4表示曲线的结束点。,9.6 绘图方法,9.6.1 绘制线条 4.DrawBeziers方法 DrawBeziers方法用于根据Point 结构数组绘制一系列贝塞尔线条。格式如下所示: DrawBeziers (画笔名, Point() 第一个贝塞尔线条是从点数组中的第一个点到第四个点绘制成的。第二个点和第三个点是确定曲线形状的控制点。每条后续曲线只需要三个点:两个控制点和一个结束点。前一条曲线的结束点用作后一条曲线的起始点。,9.6 绘图方法,9.6.2 绘制椭圆、椭圆弧和饼状图形 1.DrawEllipse方法 使用 DrawEllipse 方法可以绘制一个由边框定义的椭圆,该边框是由椭圆的左上角坐标,高度以及宽度决定的。 格式为:DrawEllipse(x,y,width,height) x,y为椭圆所在矩形区域的左上角坐标点。 width为椭圆的矩形宽,height为椭圆的矩形高。如果要绘制正圆,可以将width和height的值设为相同。,9.6 绘图方法,9.6.2 绘制椭圆、椭圆弧和饼状图形 2.DrawArc方法 用 DrawArc 方法可以画一段椭圆弧,格式如下: DrawArc(画笔名, x, y, 宽度, 高度, 起始角, 扫描角) x, y, 宽度, 高度四个参数指定了绘制椭圆的外切矩形。 GDI+以水平向右的半径为0度,然后按顺时针方向画弧。“起始角”为椭圆弧的起始角度,该角度是在指以椭圆的圆心为坐标原点、X轴向右为正方向的坐标系中,圆弧起点与X轴的夹角。 “扫描角”为圆弧扫过的角度值,以“起始角”参数所指定的起点沿顺时针方向扫过的度数。,9.6 绘图方法,9.6.2 绘制椭圆、椭圆弧和饼状图形 3. DrawPie方法 DrawPie 方法画的是一个饼状图,它和DrawArc方法一样,先画一条椭圆弧,但是它还把两个端点与圆心连接起来,形成一个饼状图,它的格式与DrawArc方法一样。 格式: DrawPie(画笔名, x, y, 宽度, 高度, 起始角, 扫描角,9.6 绘图方法,9.6.3 绘制矩形和多边形 1.DrawRectangle方法 DrawRectangle方法可以绘制由坐标、宽度和高度指定的矩形。 格式:DrawRectangle(画笔名, x, y, 宽度, 高度) 其中x, y为矩形的左上角的坐标点,width, height分别为矩形的宽和高。,9.6 绘图方法,9.6.3 绘制矩形和多边形 2.DrawRectangles方法 DrawRectangles方法和DrawRectangle方法一样都是用于画矩形的,但是DrawRectangles方法是绘制一系列由 Rectangle 结构指定的矩形。其格式如下: DrawRectangles(画笔名, Rectangle() 3.DrawPolygon方法 DrawPolygon方法来绘制任意的多边形,该方法格式如下: DrawPolygon(画笔名,Points() 其中,Points()为坐标点数组.。,返回,9.7 字体绘制,在VB.NET中,窗体或图片框中的文字被作为图形处理,在文本框,标签,列表框等控件中,可以通过文本和图形两种方式文成文字的输出。 1创建字体对象 输出文字前要先创建字体对象,并先指定字体的名称,大小,样式等。字体对象通过Font类来创建,格式为: Dim 字体对象 As New Font(名称,大小,样式,量度单位),9.7 字体绘制,1创建字体对象 Dim 字体对象 As New Font(名称,大小,样式,量度单位) 名称是指定字体名称的字符串。 样式是FontStyle枚举类型,其成员有:Bold,Italic,Regular,Strikeout(中划线),Underline。 量度单位是用来指定字体大小的单位,,9.7 字体绘制,2DrawString方法 有三种格式分别为: DrawString(字符串,字体,画刷,点) DrawString(字符串,字体,画刷,矩形) DrawString(字符串,字体,画刷,x,y) “点”用来指定文本输出的开始位置,它是Point结构类型。 “矩形”指定文本输出位置,它是Rectangle结构类型。 x,y指定文本输出的起始位置,都是Single类型。,返回,9.8 图像处理,图像可以分为位图和矢量图两大类,本节图像处理主要是针对位图的处理。 9.8.1 Bitmap类常用属性 1Height 获取Bitmap对象的高度(以像素为单位)。 2Width 获取Bitmap对象的宽度(以像素为单位)。 3HorizontalResolution和VerticalResolution 分别表示Bitmap对象的水平或垂直分辨率,以“像素/英寸”为单位。,9.8 图像处理,9.8.2 Bitmap类常用方法 1GetPixel方法 格式:对象名.GetPixel(x, y) 获取Bitmap对象(x, y)点的像素的颜色。 2SetPixel方法 格式:对象名.(x, y, 颜色) 设置Bitmap 对象坐标为(x, y)像素点的颜色。 3Save方法 格式:对象名.Save(文件名) 将Bitmap对象保存到指定的文件或者流中。如果要保存某一种格式的位图文件,可以利用如下格式:对象名.Save(文件名,图像类型) 图像类型是ImageFormat类的成员,包括Bmp(位图图像格式)、Gif(图形交换格式) 、Jpeg (联合图像专家组图像格式)等。,返回,第10章 多媒体程序开发,学习目标,熟练掌握Windows Media Player控件的常用属性和方法 了解Windows Media Player多媒体播放器程序的开发,本章内容,10.1 Windows Media Player控件介绍 VB.NET多媒体编程技术中,Windows Media Player是最常用的控件,可以利用该控件实现视频、音频文件的播放。 10.1.1 添加Windows Media Player控件 10.1.2 Windows Media Player控件常用属性 10.1.3 Windows Media Player控件常用方法 10.1.4 Windows Media Player控件常用事件,10.1 Windows Media Player控件介绍,10.1.1 添加Windows Media Player控件 Windows Media Player控件不是VB.NET标准工具箱中的控件,它是Windows Media Player播放器的中的ActiveX 控件,使用之前要求系统中已经安装Windows Media Player 9或以上版本播放器程序,然后再添加该控件到VB.NET标准工具箱中。,10.1 Windows Media Player控件介绍,10.1.1 添加Windows Media Player控件 在VB.NET开发环境“工具箱”右键选择“选择项”,“选择工具箱项”对话框中选择“COM组件”选项卡,勾选“Windows Media Player”一项 。,10.1 Windows Media Player控件介绍,10.1.2 Windows Media Player控件常用属性 1.URL属性 2.Ctlcontrols属性 3.Settings属性 4.CurrentPosition属性 5.Duration属性 6.UlScreen属性 7.UiMode属性 8.PlayState属性 9.EnableContextMenu属性,10.1 Windows Media Player控件介绍,10.1.2 Windows Media Player控件常用属性 1.URL属性 用来指定所要播放的多媒体文件路径与文件名,可以是本机或网络地址。 属性值赋值有两种方法: (1)选中“Windows Media Player”控件的属性窗口,在URL属性栏中输入多媒体文件的路径与文件名。例如: 输入“D:sound.wav“ (2)在代码中指定,即将多媒体文件的路径与文件名以字符串类型指定给URL属性。例如: AxWindowsMediaPlayer1.URL=“ D:sound.wav “,10.1 Windows Media Player控件介绍,10.1.2 Windows Media Player控件常用属性 2.Ctlcontrols属性 Ctlcontrols属性是Windows Media Player控件的一个非常重要的属性,用于控制播放器的播放、暂停、停止等功能。,10.1 Windows Media Player控件介绍,10.1.2 Windows Media Player控件常用属性 3.Settings属性 Settings属性用于播放器的基本设置,以下介绍该属性的几个用法: (1)Settings.volume:该属性值为整型,可将0-100间的数值赋值给该属性,用于调节播放器音量。 格式为:控件名. Settings.volume=20 (2)Settings.autoStar:该属性值为布尔型,用于控制是否自动播放。 格式为:控件名. Settings. autoStar 当为true时表示自动播放。 (3)Settings.mute:该属性值为布尔型,用于控制播放是否静音。 格式为:控件名. Settings. mute 当为true时表示静音。 (4)Settings.playCount:该属性值为整型,用于设置多媒体文件播放次数。 格式为:控件名. Settings. playCount,10.1 Windows Media Player控件介绍,10.1.2 Windows Media Player控件常用属性 4.CurrentPosition属性 该属性值为数值类型,用于获取多媒体文件当前的播放进度。 5.Duration属性 该属性值为数值类型,用于获取当前多媒体文件的播放的总时间 6.UlScreen属性 该属性值为布尔型,用于设置播放器是否全屏显示,当值为true时,表示全屏显示。,10.1 Windows Media Player控件介绍,10.1.2 Windows Media Player控件常用属性 7.UiMode属性 该属性值为字符串类型,用于设置播放器界面模式,可为Full, Mini, None, Invisible等。 8.PlayState属性 该属性值为整型数值用于设置播放器的播放状态,每种数值代表不同的播放状态,例如“1”表示“停止”,“2”=“暂停”,“3”=“播放”,“6”=“正在缓冲”,“9”=“正在连接”,“10”=“准备就绪”。 9.EnableContextMenu属性 该属性值为布尔类型,用于控制启用或禁用右键菜单。,10.1 Windows Media Player控件介绍,10.1.3 Windows Media Player控件常用方法 1.play方法 该方法用于播放多媒体文件,格式为:控件名.Ctlcontrols.play() 2.pause方法 该方法用于暂停正在播放的多媒体文件,格式为:控件名.Ctlcontrols.pause() 3.stop方法 该方法用于停止正在播放的多媒体文件,格式为:控件名.Ctlcontrols.stop(),10.1 Windows Media Player控件介绍,10.1.3 Windows Media Player控件常用方法 4.fastforward方法 该方法用于将正在播放的多媒体文件快进,格式为:控件名.Ctlcontrols.fastforward() 5.fastreverse方法 该方法用于将正在播放的多媒体文件快退,格式为:控件名.Ctlcontrols.fastreverse(),10.1 Windows Media Player控件介绍,10.1.4 Windows Media Player控件常用事件 Windows Media Player控件常用的事件有ClickEvent和StatusChange。 当点击Windows Media Player时,将触发ClickEvent事件; 当播放器的状态发生变化的时候,将触发StatusChange事件。,第11章 程序调试和异常处理技术,本章内容,11.1 常见错误类型 11.2 程序的调试与中断 11.3 异常处理,学习目标,熟练掌握常见错误类型 了解VB .NET的调试工具 熟悉VB .NET的异常处理机制,11.1 常见错误类型,VB.NET程序的错误一般分为编译错误、运行错误和逻辑错误三大类 。 1.编译错误 2.运行错误 3.逻辑错误,11.1 常见错误类型,1.编译错误 编译错误也称为语法错误,通常是指程序代码违反了VB.NET的语法规则,在编译程序期间时,如果代码中有语法错误,则编译不能通过。这类错误能够在“错误列表”窗口中给出提示。,11.1 常见错误类型,2.运行错误 程序在运行期间,当语句试图执行一个不能执行的操作时,将会发生运行期间的错误。,11.1 常见错误类型,3.逻辑错误 程序运行期间没有报错提示,但是得不到预期的结果,这类错误被成为逻辑错误。语句次序不对、循环语句起始或者终值不正确等等将很容易造成逻辑错误。,返回,11.2 程序的调试与中断,11.2.1 VB .NET的工作模式 11.2.2 “调试”菜单和“调试”工具栏 11.2.3 断点 11.2.4 窗口,11.2 程序的调试与中断,11.2.1 VB .NET的工作模式 1.设计模式 在该模式下可以进行界面设计、代码编写、属性值修改等操作。 2.运行模式 在该模式下可以查看程序运行结果,但是不能进行界面或者代码的编辑操作。 3.中断模式 出现错误或者测试中途故意把程序挂起,使程序暂时停止执行。,11.2 程序的调试与中断,11.2.2 “调试”菜单和“调试”工具栏 1.窗口菜单 该菜单用于控制显示即时、断点、输出等窗口。 2.启动、继续、全部中断和停止调试 选择这些菜单分别表示“启动”、“继续”、“全部中断”和“停止调试”应用程序。 3.逐语句、逐过程和跳出 逐语句:这种调试方式也被称为“单步执行”,在这种调试方式下,程序将按语句的执行顺序一条一条地一次执行整个程序。 逐过程:这种调试方式是指当程序执行到“函数”或者“过程”时,并不进入“函数”或者“过程”单步执行,而是执行一次整个的“函数”或者“过程”,再逐语句执行后面的语句。 跳出:如果单步执行到被调用过程的某一行时,单击“调试”菜单的“跳出”命令,则程序将连续执行完该过程的其余部分,返回调用程序的下一行并回复中断模式。,11.2 程序的调试与中断,11.2.3 断点 断点相当于一个信号,当程序运行到断点时,它会通知调试器在断点处暂时将程序处于中断模式。 进入中断模式并不会终止或结束程序的执行。,11.2 程序的调试与中断,11.2.3 断点 1.断点设置方法 (1)在代码编辑窗口左侧的灰色边框点击; (2)使用功能键F9在当前光标所在行设置断点; (3)在要添加断点的行中点击右键,选择“断点”菜单中的“插入断点”。 2.断点操作 (1)插入断点 (2)清除断点 (3)禁用/启用断点,11.2 程序的调试与中断,11.2.4 窗口 1.局部变量窗口 2.命令窗口 3.监视窗口和快速监视窗口 4.自动窗口,11.2 程序的调试与中断,11.2.4 窗口 1.局部变量窗口 “局部变量”窗口显示在程序中定义的任何变量的有关信息。,11.2 程序的调试与中断,11.2.4 窗口 2.命令窗口 命令窗口又被成为即时窗口,该窗口的作用是可以直接在其中输入命令语句按“回车键”就可显示执行结果 。 命令语句的格式为“ 变量名”。,11.2 程序的调试与中断,11.2.4 窗口 3.监视窗口和快速监视窗口 VB.NET提供了四个监视窗口,这样可以方便程序设计人员把要观察的变量或表达式进行分类。 监视窗口的作用是可以查看程序运行过程中变量或者表达式的值。使用方法是直接将要查看的变量或者表达式输入到监视窗口的单元格中即可。,11.2 程序的调试与中断,11.2.4 窗口 3.监视窗口和快速监视窗口 VB.NET还提供了一个更加快捷的监视窗口就是快速监视窗口,如果要向快速查看一个或者几个变量或者表达式的值,可以直接用快速监视来计算。,11.2 程序的调试与中断,11.2.4 窗口 4.自动窗口 “自动”窗口用来显示当前代码行的前后两行的变量值。,返回,11.3 异常处理,错误是指程序运行过程中遇到诸如内存不足、保存文件但磁盘写保护状态等等意外或者错误情况,使得程序无法继续执行下去的情况。 异常处理分为结构化异常处理和非结构化异常处理两种。 11.3.1 结构化异常处理 结构化异常处理是指异常处理程序采用结构化的编程思想,代码封装在代码块中,代码块中利用控制结构将异常、可能存在异常的代码块和异常处理程序等结合起来,在执行期间能够检测和相应错误的代码。,11.3 异常处理,11.3.2 Try.Catch.Finally语句结构 Try.Catch.Finally语句是结构化异常处理的基本结构。它测试代码片段,筛选该代码执行过程中产生的异常,并根据产生的异常类型做出不同的响应。,Try 可能存在异常的代码块 Catch 异常类型1 异常处理程序1 Catch 异常类型2 异常处理程序1 Catch 异常类型n 异常处理程序n Finally 必须执行的代码块 End Try,11.3 异常处理,11.3.2 Try.Catch.Finally语句结构 1.Try代码块 Try代码块包含可能存在异常的代码块,程序将尝试执行该代码块的每一个语句。如果没有任何语句发生异常,那么所有语句将会一个一个执行,直到全部执行完毕。但是,一旦出现异常就会跳出Try 语句块,进入Catch.语句块。,11.3 异常处理,11.3.2 Try.Catch.Finally语句结构 2.Catch代码块 Catch代码块用于捕捉特定的异常,它用于标识与某特定异常关联的代码块,可以有一个或者多个Catch代码用于表示不同的异常处理情况。 Catch 语句可采用三种格式:Catch、CatchAs 和 CatchWhen。,11.3 异常处理,11.3.2 Try.Catch.Finally语句结构 3.Finally 代码块 不管Try 代码块中是否抛出异常,Finally 语句所包含的代码块始终会执行。,第12章 数据库访问,本章主要内容: 12.1 数据库实用基础 12.2 ADO.NET 2.0概述 12.3 数据源配置向导 12.4 数据访问中的常用控件,12.1 数据库实用基础,关系数据库基本概念 关系数据模型建立在严格的数学概念基础上,用二维表 来组织数据,如下表所示。,关系模型的数据结构,属性(列,字段),元组(行,记录),关系:一个关系对应一张二维表,通俗地讲,关系就是二维表。二维表的名字就是关系的名字,上图中的关系名为学生信息表。 属性:表中的列称为属性,也叫字段。每个属性有一个名字,称为属性名,用来表示存储于数据库中的信息的类别。 元组:二维表中的行称为元组,也叫记录。在上图中表示特定学生的全部信息称为一条记录。 候选码:表中的某个属性或属性组可以唯一地确定一个元组,则称该属性或属性组为候选码,在一个关系上可以有多个候选码。 主码:在候选码中选择一个作为主码,每个关系中只能有一个主码。 对于有些关系,单一的属性不能唯一地确定一个元组,因此要两个或多个属性组合起来构成主码。例如,我们有这样一个关系,一位教师可以讲授多门课,一门课也可以由多名教师来讲授,则单独选择其中的教师号或课程号都不能唯一地确定一个元组,只有教师号和课程号组合起来才可以,因此必须选择教师号和课程号这样一个属性组用来作为主码。,数据库的创建及使用 本节读者将学习如何使用Microsoft Access以及Microsoft SQL Server 采用直观的图形化方法创建数据库。 1在Microsoft Access中创建及使用数据库 以创建EAdmin(教务管理)数据库为例进行讲解。,(1)创建数据库 选择Windows系统中的“开始”“所有程序”Microsoft officeMicrosoft office access启动Access。进入其工作窗口后,选择菜单“文件”“新建”,然后单击窗体右侧新建文件项下的“空数据库”,弹出文件新建数据库对话框,在其中指定数据库文件的存储位置以及文件名。如图所示。,设置完成后,单击“创建”按钮,进入如图所示的Access工作界面。,(2)表的创建 以创建TTec(教师授课)表为例。设计TTec表结构如下。,在Access中创建完数据库后,进入其工作界面,选择其中的“表”,在右侧窗口会列出可使用的创建表的方法,本例中采用表设计器,双击“使用设计器创建表“,弹出表设计器窗口,在这里设计好的表结构来创建表。,(3)操纵表中数据 表创建完成后,可进行数据处理,在Access工作界面中,鼠标双击要处理数据的表,进入记录编辑界面,可在其中输入、修改和删除记录。,2在SQL Server 中创建及使用数据库 (1)创建EAdmin(教务管理)数据库 选择Windows系统中的“开始”“程序”Microsoft SQL Server 2005 SQL Server Management Studio来启动SQL Server。在第一次启动时程序会自动配置环境,完成配置后会出现如图所示对话框,要求进行服务器和用户连接。,填选完成后单击“连接”按钮,连接到服务器。出现如图所示的SQL Server Management Studio主界面。,鼠标右键单击对象资源管理器中的“数据库”,在弹出菜单中选择“新建数据库”菜单项,则会出现“新建数据库”界面。在“数据库名称”后输入新建的数据库名,另外,创建数据库的所有者、是否使用全文索引可进行相应修改,对于数据库文件中的逻辑名称、初始大小、增长方式、存储路径等也可以按要求来修改。本例中均采用默认值,单击“确定”按钮创建数据库。,(2)创建SInfo(学生信息)表 SInfo表结构如下表所示:,在Microsoft SQL Server Management Studio窗口,展开需要在其中创建表的数据库,示例中为EAdmin数据库。鼠标右键单击“表”,选择“新建表”,按设计好的表结构进行创建。设置主码及其他各种约束,完成后,单击“保存”菜单命令,会出现输入表名称的对话框,在其中输入SInfo后,单击确定,完成表的创建。,(3)操纵表中数据 选择刚创建的SInfo表,鼠标右键单击,选择弹出菜单中的“打开表”,在如下图所示的界面中输入记录,输入错误可在其中直接修改,如想删除整行记录,可在对应的行首单击鼠标右键,选择弹出菜单中的“删除”,然后出现删除确认窗口。编辑完成后,关闭该窗口,针对记录所作修改均会自动保存。,对于使用其他一些数据库管理工具创建的表,想要在SQL Server中使用,可以选择“导入数据”,方法是鼠标右键单击需要导入数据的数据库,在弹出菜单中选择“任务”“导入数据”,另外在SQL Server中创建的表,也可以导出为其他格式的表格,读者需在弹出菜单中选择“任务”“导出数据”,接下来按提示即可完成。,结构化查询语言SQL 1简单查询 查询语句基本格式: SELECT -需要哪些列 FROM -来自于哪些表 WHERE -根据什么条件 GROUP BY HAVING ORDER BY asc|desc,例: 查询前例中建立的EAdmin数据库中SInfo表(学生信 息表) 中的全部内容。 SELECT * FROM Sinfo 查询全体学生的学号和姓名。 SELECT No,Name FROM Sinfo,在实际的应用中涉及到的查询,通常都是有条件的筛选,就需要使用WHERE子句,在WHERE子句中常用的查询条件如下表所示。,比较查询:查询年龄小于18岁的学生的姓名。 SELECT Name FROM SInfo WHERE Age18 确定范围:查询年龄在18-20岁之间的学生的姓名。 SELECT Name FROM SInfo WHERE Age BETWEEN 18 AND 20 确定集合:查询计算机系、电子系和英语系的学生的姓名。 SELECT Name FROM SInfo WHERE Deptment IN (计算机, 电子, 英语),字符匹配:对于字符匹配的查询,要涉及到以下几个通配符: _:匹配任意一个字符; %:匹配0个或多个字符; :匹配 中的任意一个字符; :不匹配 中的任意一个字符 查询所有姓李的学生的姓名和年龄。 SELECT Name,Age FROM SInfo WHERE Name LIKE李% 查询姓李、张、赵的学生的详细情况。 SELECT * FROM SInfo WHERE Name LIKE 李张赵%,多重条件:查询计算机系年龄大于20的 学生的学号、姓名 SELECT No,Name FROM SInfo WHERE Deptment=计算机 AND Age20,SQL中还提供了一组计算函数,用来进行数据的统计汇总,包括如下几个函数: COUNT( * ):统计表中元组个数; COUNT(DISTINCT ):统计本列列值个数; SUM(DISTINCT ):计算列值总和; AVG(DISTINCT ):计算列值平均值; MAX(DISTINCT ):求列值最大值; MIN(DISTINCT ):求列值最小值。 (DISTINCT为可选关键字,如加上,表示对于相同的值只计算一次) 例如:对于EAdmin数据库中的TTec表(教师授课表),要统计授课教师的人数。 SELECT COUNT(DISTINCT Tno) FROM TTec,对于要将数据进行分组计算的,就要使用到GROUP BY子句。 例:统计学生管理数据库中每个系的学生人数。 SELECT COUNT(No) FROM SInfo GROUP BY Department 要想对分组的结果进行过滤筛选,就要使用HAVING子句。 例 :查询学生人数超过100人的系有哪些。 SELECT Deptment FROM SInfo GROUP BY Department HAVING COUNT(No)100 在有些情况下需要对查询结果进行排序输出,则需要使用ORDER BY子句。 例 :查询计算机系全体男生的情况,并按年龄升序排列。 SELECT * FROM SInfo WHERE Deptment=计算机 AND Sex=男 ORDER BY Age,2向表中添加新数据 使用INSERT语句可以在现有的表中插入一条新纪录。语法格 式如下: INSERT INTO () VALUES (值列表) 例:将新记录(08990007,张丹晨,电子系,女,18岁)插入到SInfo表中。 INSERT INTO SInfo VALUES (08990007, 张丹晨, 电子系,女, 18,) 或者为: INSERT INTO SInfo (No,Name,Deptment,Sex,Age) VALUES(08990007, 张丹晨, 电子系,女, 18),3更新表中数据 对于已经存在的记录,如果某些字段值发生了变化,则需要 对现有的内容进行修改,可以使用UPDATE语句来实现。语法 格式如下: UPDATE SET , n WHERE 例: 学号为08990007的学生转入计算机系学习,则相应的学生信息表要修改,实现语句如下: UPDATE SInfo SET Deptment=计算机 WHERE No=08990007,4删除表中数据 当某些记录不再需要时,可以用DELETE语句将其删除。语法 格式如下: DELETE FROM WHERE 例: 学号为08990001的学生退学,则应修改学生信息表。 DELETE FROM SInfo WHERE No=08990001,12.2 ADO.NET 2.0概述,ADO.NET对象模型,.NET Framework数据访问对象 1Connection对象 要访问数据库,需要先建立到数据库的连接,在ADO.NET中, 使用Connection对象来连接到指定的数据源。 这里以SqlConnection对象为例进行讲解。SqlConnection对象的主 要属性和方法如下: ConnectionString属性:获取或设置用于打开sql sever数据库的字符串。 ConnectionTimeout属性:获取尝试建立连接时终止尝试并生成错误之前所等待的时间。 State属性:指示SqlConnection的状态。Open表示处于打开状态,close处于关闭状态。 Open方法:使用connectionstring所指定的属性设置打开数据库的连接。 Close方法:关闭与数据库的连接。,如下代码演示了如何创建、打开和关闭与SQL Server数 据库的连接。 Dim strConn As String strConn = “Data Source= YF154084;Initial Catalog=EAdmin;Integrated “ 指定连接字符串 Dim conn As New SqlConnection(strConn) 使用给出的连接字符串创建connection对象 conn.Open() 通过open方法打开到数据库的连接 conn.Close()通过close方法关闭到数据库的连接 在连接字符串中,Data Source指数据库服务器的名称, Initial Catalog指想要连接的数据库的名称。,如想连接到Access数据库,可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论