VB-Net自学经典1教程(完整版)ppt课件_第1页
VB-Net自学经典1教程(完整版)ppt课件_第2页
VB-Net自学经典1教程(完整版)ppt课件_第3页
VB-Net自学经典1教程(完整版)ppt课件_第4页
VB-Net自学经典1教程(完整版)ppt课件_第5页
已阅读5页,还剩608页未读 继续免费阅读

下载本文档

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

文档简介

第一章VB.NET基础第二章简单的VB.NET程序设计第三章VB.NET语言基础第四章基本的控制结构第五章数组第六章过程第七章用户界面设计第八章面向对象程序设计基础第九章文件第十章图形应用程序开发第十一章数据库应用程序开发,目录,第一章VB.NET基础,1.1VB.NET概述1.2VB.NET集成开发环境1.3使用帮助系统,本章目录,1.1VB.NET概述,1.1.1VisualBasic的发展20世纪60年出现Basic语言;20世纪80年代,TrueBasic、QuickBasic和TurboBasic等;1991年Microsoft公司推出VisualBasic1.0,以可视化工具为界面设计、结构化Basic语言为基础,以事件驱动为运行机制。从1991年的VB1.0至1998年的VB6.0的多次版本升级,功能更强大、完善,应用面更广;2002年正式发布VisualBasic.NET。,本章目录,1.1.2Microsoft.NET概述,什么是.NET?.NET代表了一个集合、一个环境、一个编程的基本结构,作为一个平台来支持下一代的Internet。.NET也是一个用户环境,是一组基本的用户服务,可以作用于客户端、服务器或任何地方。对初学VB的人来说,可以这样认为,.NET就是VisualStudio.NET。,本章目录,VisualStudio.NET,本章目录,1.1.3VB.NET特点,1引例例1.1简单的动画演示。一行文字“欢迎使用VB.NET”在具有背景图案的窗体中上、下移动。移动方法有两种:单击手动按钮,移动5个像素单位;单击自动按钮,按定时器触发频率连续移动;当内容超出窗体范围时,进行反弹。,本章目录,引例,根据要求,用工具箱上的Label、Button、Timer等控件,在窗体上建立控件对象,进行有关的属性设置。,本章目录,引例:编写事件过程,本章目录,提供了易学易用的应用程序集成开发环境具有面向对象的可视化设计工具事件驱动的编程机制支持结构化程序设计,具有面向对象程序设计语言的所有特征具有丰富的数据类型、功能强大的类库强大的数据库功能网络功能完备的帮助功能,VB.NET功能特点,本章目录,1.2VB.NET的集成开发环境,1.2.1进入VB.NET,启动VisualStudio.NET“起始页”选择“新建项目/打开项目”按钮,VisualBasic项目,Windows应用程序,本章目录,VB.NET集成开发环境,本章目录,1.2.2主窗口,三种工作模式设计模式界面的设计和代码的编制运行模式运行应用程序中断模式暂时中断程序运行,调试程序2.菜单栏包括11个下拉菜单3.工具栏,本章目录,1.2.3窗体设计/代码设计窗口,1.窗体设计器窗口建立VB.NET应用程序的界面(一个应用程序可以有多个窗体,通过“项目|添加Windows窗体”命令增加新窗体)。2.代码设计窗口专门用来进行代码设计,包括各种事件过程、过程和类等源程序代码的编写和修改。打开代码设计窗口的方法:双击窗体、控件或单击代码窗口上方的选项卡组对应项。,本章目录,1.2.4属性窗口,窗体和控件称为对象,每个对象用一组属性来描述其外部特征,如颜色、大小等。属性窗口用于显示和设置所选定的对象的属性。属性窗口由四部分组成:对象和名称空间列表框属性显示排列方式属性列表框属性含义说明,本章目录,1.2.5解决方案资源管理器窗口,项目一个独立的编程单位(包含窗体文件及其他一些相关文件),若干项目组成一个解决方案解决方案可以含有以下类型的文件:解决方案文件(.sln)可包括用不同语言开发的项目项目文件(.vbproj)由引用的组件和代码模块组成代码模块文件(.vb)包括窗体文件、类模块或其他代码文件,本章目录,1.3使用帮助系统,动态帮助属性窗口“动态帮助”标签卡内索引使用上下文相关的帮助按“F1”键网络资源通过,本章目录,本章小节,VisualStudio.NET一个支持下一代Internet的平台VB.NET的三种工作模式设计模式、运行模式、中断模式组成,本章目录,解决方案,项目,组件和代码模块,项目,组件和代码模块,思考题,1.什么是.NET框架?2.简述VB.NET的特点3.VB.NET有多种类型的窗口,若想在设计时看到代码窗口,怎样操作?4.如何使各窗口显示或不显示?5.如果窗口布局搞乱了,如何恢复默认布局?6.解决方案与项目的区别?,本章目录,第二章简单的VB.NET程序设计,2.1VB.NET对象的概念2.2建立简单的应用程序2.3窗体和基本控件2.4综合应用,本章目录,2.1VisualBasic对象的概念,2.1.1对象和类1.对象对象就是日常生活中的某个实在的物体例如,一个人、一辆汽车、一台电脑。对象都具有各自的特征(属性)、行为(方法)。人有身高、体重、听力等特征;也具有起立、行走、说话、踢足球等行为。在VB.NET中,将反映对象的属性和行为封装在一起,是面向对象编程的基本元素。,本章目录,2.类的概念,类同种对象的集合与抽象,是创建对象实例的模板,包含所创建对象的属性描述和行为特征的定义。例如,人类是具体人的抽象。每个人有不同的身高、体重等属性值和不同的行为。VB.NET工具箱中的可视图标是VB.NET系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象(简称控件)。,本章目录,例如:工具箱内的TextBox是类(它确定了TextBox的属性、方法和事件)窗体上显示的是两个Text对象,本章目录,属性、事件和方法构成对象的三要素1.属性存放对象的数据(决定对象外观及功能)例如,控件名称、文本、大小等属性。对象属性的设置方法:设计阶段利用属性窗口直接设置属性值程序运行时通过语句对象名.属性名=属性值例如:Button1.Text=确定注意:若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。,2.1.2对象的属性、事件和方法,本章目录,事件发生在对象上的事情同一事件,对不同的对象,会引发不同的反应:,事件,本章目录,教师_铃声()讲课EndSub,学生_铃声()听讲接受知识EndSub,VB.NET为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus、按下键盘KeyPress等,其他人员_铃声()可不于响应EndSub,事件过程应用程序处理事件的步骤它针对某一对象并与该对象的一个事件相联系应用程序设计的主要工作就是为对象编写事件过程的代码。事件过程的形式如下:Sub对象名_事件(对象引用,事件信息)Handles事件处理程序事件过程代码EndSub对象引用:指向引发事件的对象事件信息:与事件相关的信息,事件过程,本章目录,例2.1在命令按钮的Click事件过程,改变按钮的字体颜色.代码说明注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。一个动作可能同时发生多个事件。例如单击鼠标同时发生了:Click、MouseDown、MouseUp事件编程时,只要对需要的事件过程编码,无编码的事件为空事件,系统就不处理该事件过程。,本章目录,事件驱动程序设计方式:程序执行的先后次序与程序设计者无关,取决于用户的操作。VB.NET程序的执行步骤:启动应用程序,装载和显示窗体;窗体(或窗体上的控件)等待事件的发生;事件发生时,执行对应的事件过程;重复执行步骤和。,事件驱动程序设计,本章目录,方法,面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为:对象.方法参数名表若省略对象,表示当前对象,一般指窗体。例如:Textbox1.Focus此语句使Textbox1控件获得焦点,光标在本文框内闪烁。,本章目录,2.2建立简单的应用程序,例2.2编写一个人民币与美圆兑换的程序。建立一个应用程序分为以下几步进行:(1)建立用户界面的对象(2)对象属性的设置(3)对象事件过程及编程(4)保存和运行程序,本章目录,代码说明,对象事件过程及编程,代码窗口的对象列表框可显示窗体所有对象过程列表框列出所选中对象的所有事件例如,在按钮Button2的Click事件加入代码:SubButton2_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesButton2.ClickTextBox1.Text=Val(TextBox3.Text)*Val(TextBox2.Text)EndSubVal()函数将数字字符转换成数值型,本章目录,保存程序和文件组成,程序存盘后将建立一个文件夹,包含如下内容:(1)xxx.sln项目关联、配置等的信息(2)xxx.suo开发环境选项的信息(3)xxx.vbproj项目文件(4)Form1.vb窗体文件(5)AssemblyInfo.vb项目集合信息(系统自动建立)(6)xxx.exe可执行文件(在Bin文件夹)(7)Bin文件夹可执行文件的默认路径,可用Application.StartupPath()获得该路径。(8)Debug文件夹存放程序调试产生的信息,本章目录,2.3窗体和基本控件,2.3.1通用属性属性设置两种方式:通过属性窗口设置在代码设计窗口通过代码来设置在VB.NET中,属性的类型有:基本数据类型枚举类型结构类型用代码设置时,需要用不同方式表示不同的类型,本章目录,2.3.1通用属性,(1)Name所有对象都具有的属性,表示所创建的对象名称。在程序中通过对象名称来引用对象,不会显示在窗体上。(2)Text用于在窗体上显示对象的文本TextBox控件的Text还可以获取输入信息,本章目录,(3)控件布局属性控件布局由Location、Size结构来实现,它们各有一对整数来表示,整数单位为像素。Location控件左上角位置,Size控件大小例如,命令按钮控件布局Button1.Location=NewPoint(88,48)Button1.Size=NewSize(80,32)也可用Left、Top定位;用Width和Height来表示控件的宽度和高度。,本章目录,等效的语句设置:Button1.Left=88Button1.Top=48Button1.Width=80Button1.Height=32,(4)Font属性值是Font类的对象,一般通过Font属性对话框设置,若在程序代码中需要改变文本的外观,则应通过New创建Font对象来改变字体。例如:,Label1.Font=NewSystem.Drawing.Font(Arial,10),本章目录,(5)ForeColor、BackColor颜色属性ForeColor控件正文前景色BackColor背景色(6)Cursor指示鼠标光标图像设置值是一个Cursors枚举类型的枚举值。若要用户定义自己的指针图标,可通过如下语句实现:对象名.Cursor=NewSystem.Windows.Forms.Cursor(图标文件名),本章目录,(7)Dock控件放置靠窗体边框的位置,属性值是DockStyle枚举类型,有六个枚举值(8)Enabled、Visible控件的有效、可见性,本章目录,(9)TabIndex按Tab键时,焦点在各个控件移动的顺序,2.3.2窗体,窗体是一块画布,是所有控件的容器,可以根据需要利用工具箱上的控件在窗体上画界面。1.主要属性,本章目录,窗体-属性,(1)MaxButton、MinButton设置为True,窗体上有最大(小)化按钮;为False时无最大(小)化按钮(2)Icon、ControlBox窗体图标、控制菜单ControlBox属性为True,窗体上有控制菜单框;为False时无控制菜单(系统将MaxButton和MinButton自动设置为False)(3)BackgroundImage窗体背景图案(4)FormBorderStyle窗体的边框类型,本章目录,窗体-事件,最常用的事件有Click、DblClick和LoadLoad事件窗体装入内存时触发(应用程序启动时自动执行该事件),常用来在启动时对属性和变量初始化。例2.3编写三个事件过程,要求如下:启动窗体,在标题栏显示“装入窗体”,并将tongji.bmp作为背景图平铺窗体、窗体边框为Fixed3D;单击窗体,标题栏显示对应的文字、装入tongji-2.bmp图片大小为264256,要求图片正好充满窗体。双击窗体,标题栏显示对应的文字、窗体无最大化和最小化按钮,清除装入的图片。,代码说明,本章目录,窗体-方法,使用方法的语法形式:对象.方法参数列表窗体方法主要有ShowDialog、Show、Hide等,主要用于多窗体的显示和隐藏等例如:Me.Hide,本章目录,2.3.3标签-属性,标签用来显示文本信息(不能输入)除Name、Font、Size、Location、Enable等属性外,其它主要属性:(1)Text、TextAlign:设置显示的文本、文本的对齐方式,TextAlign属性是枚举类型,提供标签控件上文本的9种对齐方式,本章目录,(2)BackColor背景色(默认与窗体背景相同)。若要以透明方式显示,需要设置Color枚举类型的Transparent。(3)BorderStyle标签控件边框样式None控件周围没有边框(默认值)FixedSingle控件带有单边框Fixed3D控件带有立体边框(4)AutoSize控件是否能自动调整大小当值为False,保持控件原设计时的大小,正文若太长则显示其中的一部分。,本章目录,(5)Image、ImageAlign设置控件的背景图案和图案对齐方式ImageAlign属性与TextAlign类似通过代码设置图案:标签名.Image=Image.FromFile(图片名)例2.4在4个标签中存放4个方向的“手指”图片,当单击某方向时,利用“Dock”属性定位第5个标签、并显示相关信息。,代码说明,本章目录,2.3.4文本框,文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。(1)Text显示或输入的正文内容(2)Maxlength设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。注意:在VB.NET中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。,本章目录,(3)MultiLine多行属性设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。(4)ScrollBars滚动条属性None无滚动条Horizontal水平滚动条Vertical垂直滚动条Both同时加水平和垂直滚动条当MultiLine为True时,ScrollBars才有效,本章目录,(5)PassWordChar设置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。当MultiLine为True时,该属性不起作用,密码不允许多行。(6)ReadOnly指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。,本章目录,(7)文本内容进行选择操作SelectionStart选定的正文开始位置SelectionLength选定的正文长度SelectedText选定的正文内容设置SelectionStart和SelectionLength属性后,SelectedText会自动存放设定的正文例2.5利用属性实现对文本信息的剪切、拷贝、粘贴等功能。,本章目录,代码说明,文本框-事件,(1)TextChanged事件当Text属性值发生改变时引发该事件例在文本框每输入一个字符就引发一次事件(2)KeyPress事件按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数e.KeyChar中例对回车的判断Asc(e.KeyChar)=13,本章目录,(3)LostFocus事件对象失去焦点时发生LostFocus事件该事件主要是用来对数据进行验证和确认,常用于检查Text属性的内容。(4)GotFocus事件GotFocus事件与LostFocus事件相反,当一个对象获得焦点时发生,本章目录,文本框-方法,文本框最有用的方法是Focus,把光标移到指定的文本框中。其形式如下:对象.FocusFocus还可以用于如CheckBox、Button、ListBox、ComboBox等控件。例2.6对输入的数据进行合法性检验,过滤不合法的数据。,本章目录,代码说明,2.3.5命令按钮,用于程序运行时执行相应的事件1.属性(1)Text命令按钮上显示的文字(2)FlatStyle按钮的外观该属性有4个枚举值:Flat以平面显示按钮Popup鼠标在按钮上以Flat形式显示,否则以Standand显示Standand以三维效果显示(默认)System由操作系统决定外观形式,本章目录,命令按钮,(3)Image、BackGroundImage当FlatStyle属性值设置为非System的值时,则可以使用Image、BackGroundImage属性为按钮设置图形或背景图,显示不同的图形文件(.bmp和.ico)。通常情况使用Image属性。(4)TextAlign、ImageAlign设置文本、图形在按钮上的对齐方式2.事件命令按钮一般接收Click事件,本章目录,2.4综合应用,例2.7建立一个类似记事本的应用程序,提供:(1)剪切、复制和粘贴的编辑操作(2)字体大小的格式设置分析:(1)建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本框有初始值。(2)利用文本框的SelectedText属性实现“剪切、复制和粘贴”的编辑操作;(3)“格式”设置利用Font对象实现。,代码说明,本章目录,本章小节,类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。对象三要素:属性、事件、方法属性的类型:基本数据类型、枚举类型、结构类型窗体是所有控件的容器基本控件标签、文本框、命令按钮,本章目录,思考题,1.什么是类?什么是对象?什么是事件过程?2.属性和方法的区别是什么?3.如何建立一个完整的应用程序?4.如何在文本框内显示多行文本?5.如何使对象获得焦点?6.如何在命令按钮上设置图形?,本章目录,第三章VB.NET语言基础,3.1变量、常量与数据类型3.2运算符和表达式3.3常用函数3.4程序结构和编码规则3.5综合应用,本章目录,3.1变量、常量和数据类型,3.1.1变量概述变量在程序运行中其存储的值可以改变命名规则:必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度小于等于255个字符不能使用VB.NET中的关键字VB.NET不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母表示,本章目录,3.1.1变量概述,值类型和引用类型的变量值类型变量直接存放数据。每个值类型变量有它自己的数据拷贝,因此对一个值类型变量的操作不能影响其他的变量。引用类型变量并不真的包含数据,存放的是指向其他数据的内存地址的指针,也就是把数据值所在的地址作为引用变量的值。该种变量对象的引用简称为赋值或存储。字符串、数组和类是引用类型的变量。,本章目录,变量概述,x是值类型变量,存放的值为1234;s是引用类型变量,指向VB.NET的一个引用,本章目录,3.1.2数据类型,本章目录,3.1.3变量声明,1.用Dim语句显式声明变量Dim变量名As类型=初始值As部分缺省,创建的变量为Object类型初始值子句,表示给声明的变量赋值一条Dim语句可同时定义多个变量。多个相同类型变量,可用一个As来指定(前面几个由逗号分隔),这时不能给变量赋初值。例如:Dimm,n,jAsInteger,x,yAsSingle,kk为Object类型,本章目录,变量声明,2.隐式声明默认状态下,系统要求对使用的变量都显式声明,当使用没有声明的变量时,该变量名下有绿色曲线(表示语法错)。若对变量不声明而直接使用,称为隐式声明。则需要在模块中所有程序代码的最前面加语句:OptionExplicitOff对初学者,最好变量加以显式声明,这样有助于程序的查错。,本章目录,3.1.4常量,常量是在程序运行中不变的量,VB.NET中有三种常量:直接常量其常数值直接反映了其类型符号常量用户声明,便于程序阅读或修改Const符号常量名As类型=表达式系统常量系统提供许多内部常量和枚举例如:vbCrLf回车/换行组合符枚举如控件的颜色、边框线型等,本章目录,3.2运算符和表达式,和其他语言一样,VB.NET中也具有丰富的运算符,通过运算符和操作数组合成表达式,实现程序编制中所需的大量操作。运算符是表示实现某种运算的符号。VB.NET中的运算符可分算术运算符、字符串运算符、关系运算符和逻辑运算符四类。,本章目录,3.2.1算术运算符,例:5+10mod109/3+22结果:10,注意:对算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。例如:30-True结果是31,逻辑量True转为数值-1,False转为数值0False+10+4结果是14,本章目录,字符串运算符,Interval0例7.8设计一个倒计时应用程序例7.9用一个定时器控制蝴蝶在窗体内的飞舞,代码说明,代码说明,本章目录,7.1.5超链接,LinkLabel控件可在Windows窗体上创建超链接重要属性(1)Text控件上显示的文本(2)LinkArea用于设置控件上文本的超链接(3)ActiveLinkColorColor结构类型,用来设置超链接的颜色(4)VisitedLinkColorColor结构类型,用来设置访问过超链接的颜色,本章目录,LinkLabel控件事件,LinkClicked鼠标单击发生LinkClicked事件使用System.Diagnostics.Process.Start方法打开指定的链接对象例7.10访问教育部主页System.Diagnostics.Process.Start(),本章目录,7.2通用对话框,.NET提供了一组基于Windows的标准对话框界面。利用通用对话框控件可在窗体上创建打开文件、保存文件、颜色、字体、打印、打印预览等对话框。,通用对话框仅用于应用程序与用户之间进行信息交互,是输入输出的界面,不能真正实现文件打开、文件存储、设置颜色、字体设置、打印等操作,如果想要实现这些功能则需要编程实现。,本章目录,7.2.1打开文件对话框,由OpenFileDialog控件来实现重要属性:(1)FileName文件名称,包含路径(2)Filter确定所显示文件的类型例如:TextFiles|*.txt|所有文件|*.*显示文本文件和所有文件(3)FilterIndex决定文件列表框中显示第几组类型的文件(4)InitialDirectory初始化路径,本章目录,打开文件对话框,本章目录,打开文件对话框,例7.11编写一个应用程序,弹出打开文件对话框,从中选择一个BMP位图文件,能在图形框中显示该图片。例7.12编写一个简单的文本文件编辑程序,代码说明,代码说明,本章目录,7.2.2保存文件对话框,由SaveFileDialog控件来实现SaveFileDialog控件的属性与OpenFileDialog控件基本相同,特有的属性是DefaultExt属性,用于设置缺省的扩展名。例7.13为例7.12中的另存为命令按钮编写事件过程,把文本框内的信息存盘。,本章目录,7.2.3颜色对话框,由ColorDialog控件来实现重要属性Color,它返回或设置选定的颜色,属于Color结构类型。例7.14为例7.12中的颜色命令按钮编写事件过程,设置文本框的前景色。SubButton3_Click()HandlesButton3.ClickColorDialog1.ShowDialog()打开颜色对话框TextBox1.ForeColor()=ColorDialog1.ColorEndSub,设置文件框前景颜色,本章目录,7.2.4字体对话框,通过FontDialog控件来实现,例7.14为例7.12中的字体按钮编写设置文本框字体的事件过程。SubButton4_Click()HandlesButton4.ClickFontDialog1.ShowDialog()打开字体对话框TextBox1.Font=FontDialog1.Font设置字体EndSub,Font获取选择的字体Color选定的颜色,ShowColor控制是否有“颜色”选项,本章目录,7.3菜单设计,7.3.1菜单设计概述菜单有下拉式菜单和弹出菜单(上下文菜单)。下拉式菜单的组成结构:,本章目录,7.3.1菜单设计概述,.NET提供了MainMenu和ContextMext两个控件,分别用来设计下拉式菜单和弹出式菜单。,从这里开始设计下拉式菜单,从这里开始设计弹出菜单,本章目录,菜单设计概述,菜单项除了Name、Visible、Enabled等属性之外,还具有下列重要属性:(1)Text菜单项上显示的标题文本在字符前加一个DataSource=Student.mdbProvide,指定连接提供程序的名称;DataSource,用于指定要连接的数据源文件。,生成数据集,选择“数据|生成数据集”命令,打开“生成数据集”对话框。,1,2.命名数据集,3,4,生成数据集,选择“数据|生成数据集”命令,打开“生成数据集”对话框。,1,2.命名数据集,3,4,注意:这里的DataSet1是指一个数据集的定义,它是一个用xml格式表示的,文件名为Dataset1.xsd的数据集定义文件,并不包含任何的数据库中的数据。而按此文件架构产生的DataSet11才是一个包含实际数据的数据集对象实例。,11.2.3数据绑定,什么是数据绑定?数据绑定是一个过程,即在运行时自动为与数据集中的元素关联的控件设置属性。以便通过控件显示数据集中的数据。,数据绑定,Windows窗体有简单数据绑定和复杂数据绑定简单数据绑定简单数据绑定就是将控件绑定到单个数据字段。每个控件仅显示数据集中的一个字段值。最常用的简单数据绑定是将数据绑定到文本框和标签。要建立数据绑定,需要在设计或运行时对控件的DataBinding属性进行设置。,简单数据绑定,例11.2数据绑定的操作过程界面设计,创建和配置数据集,设置绑定属性,程序代码,PrivateSubForm1_Load()HandlesMyBase.LoadDataSet11.Clear()OleDbDataAdapter1.Fill(DataSet11,基本情况)EndSub,简单数据绑定,使用BindingContext对象浏览数据记录Position属性数据集当前记录的位置序号Count属性数据表中的记录条数转跳到第一条记录Me.BindingContext(DataSet11,基本情况).Position=0转跳到上一条记录Me.BindingContext(DataSet11,基本情况).Position-=1转跳到下一条记录Me.BindingContext(DataSet11,基本情况).Position+=1最后一条记录的Position属性值等于Count属性值-1,复杂数据绑定,复杂数据绑定允许将多个数据元素绑定到一个控件,同时显示记录源中的多行或多列。支持复杂数据绑定的控件:数据网格DataGrid、组合框ComboBox和列表框ListBox等,复杂数据绑定,复杂数据绑定属性设置,复杂数据绑定,例11.3复杂数据绑定的操作过程界面设计,创建和配置数据集,数据绑定本例DataGrid控件要绑定不同的表,故需要通过代码设置控件的DataSource属性。,程序代码,PrivateSubButton1_Click()HandlesButton1.ClickDataGrid1.DataSource=DataSet11.Tables(基本情况)EndSubPrivateSubButton2_Click()HandlesButton2.ClickDataGrid1.DataSource=DataSet11.Tables(成绩表)EndSub,11.2.3使用代码访问数据库,创建数据对象的代码:Dim数据对象AsNew对象类(参数)例11.4用代码实现例11.2的功能界面设计,导入ADO.NET名称空间ImportsSystem.DataImportsSystem.Data.OleDb,创建对象,创建OleDbConnection连接对象创建连接Student.mdb的对象objConn,代码:DimstrConnAsString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Student.mdbDimobjConnAsNewOleDbConnection(strConn)objConn.Open()创建创建OleDbDataAdapter对象DimstrSql=Select*From基本情况DimobjAdapAsNewOleDbDataAdapter(strSql,objConn),创建对象,创建数据集对象DimobjDSetAsNewDataSet用数据集的“基本情况”表填充objDSet对象objAdap.Fill(objDSet,基本情况),使用代码绑定数据,实现数据绑定使用控件的DataBindings属性的Add方法建立绑定:控件对象.DataBindings.Add(NewBinding(控件属性,数据集,字段名)例将字段姓名绑定到控件TextBox1的Text属性:TextBox1.DataBindings.Add(NewBinding(Text,objDSet,基本情况.姓名),记录的浏览,浏览记录,各命令按钮的Click事件代码为:首记录:Me.BindingContext(objDSet,基本情况).Position=0上一条:Me.BindingContext(objDSet,基本情况).Position-=1下一条:Me.BindingContext(objDSet,基本情况).Position+=1尾记录:Me.BindingContext(objDSet,基本情况).Position=Me.BindingContext(objDSet,基本情况).Count-1,11.3数据库操作,11.3.1数据库编辑操作常见的编辑操作就是对数据的增、删、改。使用命令对象直接对数据源进行操作,方法如下:CommandText属性设置SQL语句调用Execute方法执行SQL语句ExecuteReader返回DataReader结果集ExecuteNonQuery不返回数据的SQL命令(增、删、改)ExecuteScalar返回单个数据的SQL命令(例对数据的统计、求和),增加数据记录,使用Insert语句插入一条记录到数据源。例如:Insertinto基本情况(姓名,学号)Values(李力,50101)实际参数可通过文本框输入,可在Values短语中使用标记传递实参值:Insertinto基本情况(姓名,学号)Values(name,num)而参数定义的语法为:Dim参数名AsnewOleDBparameter(sql查询或更新字符串中的映射名,数据类型,长度),增加数据记录例,例11.5在例11.4的基础上添加增加记录、删除记录、修改记录按钮,当单击“增加”按钮时,先清空文本框,并将按钮提示改变成“确认”;当在文本框输入数据后,再单击“确认”,将文本框内输入的数据构成一条记录插入到数据源、重新填充数据集并恢复按钮提示。,代码说明,删除数据源内的记录,删除数据源内的记录使用Delect语句Delect基本情况Where学号=50102实参50102通过文本框输入。要用输入值构成删除条件,除了采用参数传递方法外,也可用字符连接运算符拼接变量形成条件,例如:Delect基本情况Where学号=&TextBox2.Text注意:如果字段的类型为字符型,则输入值的两侧加上单引号:Delect基本情况Where学号=&TextBox2.Text&字段的类型为日期型,将单引号改为#,删除数据记录,删除数据集内的行使用Rows对象的Delete方法。例如,删除Tables(“基本情况”)中的第三条记录:objDSet.Tables(基本情况).Rows(2).DeleteDelete方法并不真正实现删除,而只是在Rows集合中对指定的行作删除标记,直到数据集对象调用AcceptChanges方法的时候,才真正被删除;如果是RejectChanges方法被调用,那么Delete方法删除的数据行对象将被恢复。例11.6为例11.5中删除按钮添加代码。,代码说明,修改数据记录,修改数据源中的记录使用Update语句Update基本情况Set专业=计算机Where学号=50102修改程序编写与增加记录类似,其关键是:使用参数传递或字符动态拼接的方法将新的数据传递到Update语句能在数据源中定位要更新的记录(通常可使用关键字段作为定位条件)对于数据集,数据绑定结构通常是双向的,能自动将更改从数据绑定控件发送到数据集。例11.7为修改按钮添加代码,代码说明,11.3.2数据库查询操作,方法一通过命令对象执行SQL语句,从数据源中获取信息,查询条件由Select语句的Where短语构成,使用And与Or逻辑运算符组合出复杂的查询条件方法二使用数据集的数据视图(DataView)的筛选功能,数据库查询操作,数据视图(DataView)的主要方法与属性,模糊查询,模糊查询使用运算符Like,用百分号%来代替任意个不确定的内容,用下划线_代替一个不确定的内容。例如,“姓名Like张%”将查询所有张姓的人员,而“姓名Like张_”查询以“张”开头,只有两个字的记录。例11.8设计一个应用程序,演示不同的查询功能,代码说明,11.3.3BLOB数据处理,1预备知识二进制大型对象(BinaryLargeObject,BLOB)是指任何需要存入数据库的随机大块字节流数据,例如图形或声音文件。数据库中存放BLOB的字段必须是二进制类型(在Access中为OLE对象),在ADO.NET中如何处理BLOB类型的数据,把图形作为数据库的一个字段值存放在数据库,并能显示图形数据?,BLOB数据处理,在PictureBox控件显示Image对象时,不能直接绑定到字段。要操作BLOB类型的数据,需要使用Stream类。Stream是数据流,包含在System.IO大类中。FileStream是用于文件操作的Stream,MemoryStream在内存封装BLOB数据,这样就能直接访问这些封装的数据。,BLOB数据处理,Stream通过一个字节类型的数组执行对文件的读写操作。使用Read或Write方法时,需要指定字节起始位置和最多处理的字节数FileStream使用格式:FileStream(文件路径,FileMode.模式,FileAccess.操作)模式为:Open、Create操作为:Read、Write,图形数据写入数据库,用FileStream对象读模式打开图形文件Dim文件对象AsNewFileStream(图形文件名,FileMode.Open,FileAccess.Read)定义字节类型的数组(大小为文件长度)Dim数组()AsByteReDim数组(文件对象.Length)读文件到数组文件对象.Read(数组,0,文件对象.Length)文件对象.Close()写入到数据源数据集.Tables(数据表).Rows(记录号).Item(图形字段名)=数组,思考题,1.什么是.NET框架?2.简述VB.NET的特点3.VB.NET有多种类型的窗口,若想在设计时看到代码窗口,怎样操作?4.如何使各窗口显示或不显示?5.如果窗口布局搞乱了,如何恢复默认布局?6.解决方案与项目的区别?,第1章SQLServer2000概述,1.1SQLServer2000简介1.2SQLServer2000特点1.3SQLServer2000的安装1.4SQLServer2000的系统数据库1.5Transact-SQL语言简介,1.1SQLServer2000简介,SQLServer是使用客户机/服务器(C/S)体系结构的关系型数据库管理系统(RDBMS)。1988年推出了第一个OS/2版本。1992年,SQLServer移植到NT上后,Microsoft成了这个项目的主导者。1994年以后,Microsoft专注于开发、推广SQLServer的WindowsNT版本1996年,Microsoft公司推出了SQLServer6.5版本1998年,推出了SQLServer7.0版本2000年推出了SQLServer2000。,1.1SQLServer2000简介,SQLServer2000常见的版本有:企业版(EnterpriseEdition)、标准版(StandardEdition)、个人版(PersonalEdition)和开发人员版(DeveloperEdition)。企业版:一般作为数据库服务器使用。标准版:一般用于小型的工作组或部门。个人版:主要适用于移动用户。开发人员版:是一个适用于应用程序开发的版本。,1.2SQLServer2000特点,1SQLServer的主要特点真正的客户机/服务器体系结构。图形化用户界面。丰富的编程接口工具。SQLServer与WindowsNT完全集成。具有很好的伸缩性。对Web技术的支持。SQLServer提供数据仓库功能。,1.2SQLServer2000特点,2SQLServer2000的新特性多个SQLServer实例:SQLServer2000支持在同一台计算机上运行多个关系数据库引擎的实例。引入了三种新的数据类型。支持XML(ExtensiveMarkupLanguage,扩展标记语言)。支持用户自定义函数。支持强大的基于Web的分析。支持OLEDB和多种查询。支持分布式的分区视图。,1.3SQLServer2000的安装,1.3.1SQLServer2000的环境需求1硬件需求计算机:Intel及其兼容计算机,Pentium166Mz或者更高处理器或DECAlpha及其兼容系统。内存(RAM):企业版最少64MB内存,其它版本最少需要32MB内存,建议使用更多的内存。硬盘空间:对于SQLServer2000来说,完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要65MB的空间。,1.3SQLServer2000的安装,2软件需求,1.3SQLServer2000的安装,1.3.2SQLServer2000的安装1.3.3卸载SQLServer2000,1.4SQLServer2000的系统数据库,1.4.1SQLServer2000系统数据库简介SQLServer2000安装成功后,系统会自动创建6个系统数据库。这些系统数据库的文件存储在MicrosoftSQLServer默认安装目录下的MSSQL子目录的Data文件夹中,数据库文件的扩展名为.mdf,数据库日志文件的扩展名为.ldf。,1.4SQLServer2000的系统数据库,Master数据库:记录了SQLServer系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQLServer的初始化信息和其它系统数据库及用户数据库的相关信息。Model数据库:是所有用户数据库和Tempdb数据库的模板数据库。它含有Master数据库的所有系统表子集,这些系统数据库是每个用户定义数据库时都需要的。,1.4SQLServer2000的系统数据库,Msdb数据库:是代理服务数据库。Tempdb数据库:是一个临时数据库。Tempdb数据库由整个系统的所有数据库使用。SQLServer每次启动时,tempdb数据库被重新建立。当用户与SQLServer断开连接时,其临时表和存储过程被自动删除。Pubs和Northwind数据库:它们是SQLServer自带的两个实例数据库。,1.4SQLServer2000的系统数据库,1.4.2SQLServer2000系统表简介Sysobjects表。SQLServer的主系统表,出现在每个数据库中。它对每个数据库对象含有一行记录。Syscolumns表。出现在master数据库和每个用户自定义的数据库中,它对基表或者视图的每个列和存储过程中的每个参数含有一行记录。Sysindexes表。出现在master数据库和每个用户自定义的数据库中,它对每个索引和没有聚簇索引的每个表含有一行记录,它还对包括文本/图像数据的每个表含有一行记录。,1.4SQLServer2000的系统数据库,Sysusers表。出现在master数据库和每个用户自定义的数据库中,它对整个数据库中的每个WindowsNT用户、WindowsNT用户组、SQLServer用户或者SQLServer角色含有一行记录。Sysdatabases表。它对SQLServer系统上的每个系统数据库和用户自定义的数据库含有一行记录,只出现在master数据库中。Sysdepends表。它对表、视图和存储过程之间的每个依赖关系含有一行记录,出现在master数据库和每个用户自定义的数据库中。,1.4SQLServer2000的系统数据库,注意:如果使用DDL语句的INSERT、UPDATE和DELETE语句来修改系统表的信息,对整个系统是非常危险的,应该使用系统存储过程来代替。,1.4SQLServer2000的系统数据库,1.4.3SQLServer2000系统存储过程简介系统存储过程是由SQLServer2000系统自动创建的存储过程。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。可以从任何数据库中执行系统存储过程。,1.5Transact-SQL语言简介,结构化查询语言SQL(StructuredQueryLanguage)。SQL语言现在已成为关系型数据库环境下的标准查询语言。目前,最新的SQL标准是1992年制定的SQL-92。微软公司在SQL标准的基础上做了大幅度扩充,并将SQLServer使用的SQL语言称为Transact-SQL语言。,第2章SQLServer2000常用工具,2.1概述2.2SQLServer服务管理器2.3企业管理器2.4查询分析器2.5服务器网络实用工具,2.1概述,为了管理S

温馨提示

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

评论

0/150

提交评论