VB学习资料笔记教程.docx
- 文档编号:24444724
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:23
- 大小:27.15KB
VB学习资料笔记教程.docx
《VB学习资料笔记教程.docx》由会员分享,可在线阅读,更多相关《VB学习资料笔记教程.docx(23页珍藏版)》请在冰豆网上搜索。
VB学习资料笔记教程
三、VB基本语言
3.1代码书写规范
1.如一行写多条语句,语句间用“:
”分隔
2.一条语句如写在多行,行尾加续行符“_”(一个空格加一个下划线)
3.单行注释以单引号打头。
如要快速将多行设为注释,可先选中,然后单击”编辑”工具栏的”设置注释块”。
取消则用“解
除注释块按钮”。
3.2数据类型
1.基本类型
数据类型
关键字
类型符
前缀
占字节数
字节型
Byte
Byt
1
逻辑型
Boolean
Bln
2
整形
Integer
%
Int
2
长整型
Long
&
Lng
4
单精度型
Single
!
Sng
4
双精度型
Double
#
Dbl
8
货币型
Currency
@
Cur
8
日期型
Date(time)
Dtm
8
字符型
String
$
Str
与字符串长度有关
对象型
Object
Obj
4
变体型
Variant
Vnt
注:
类型转换规则:
Integer 但Long与Double运算时,结果为Double,而非single 2.自定义类型(类似于C语言结构体) 定义语法: [Public|private]Type自定义类型名 成员名As数据类型 成员名As数据类型 ….. End 注: **As数据类型不能用缩写符号代替。 如不可以用%代替Asinteger **在标准模块定义自定义类型可用public或private,但如在窗体模块中定义只能用Private 3.3常量 1.长整型常量: 如123& 2.单精度常量: 如1.231.23! 0.123E+1 3.双精度常量: 如1.23#0.123E+1#0.123D+1 注: 数值型常量默认为十进制,如使用八进制前加&O,如使用十六进制前加&H 4.日期型常量 任意日期形字符串用#括起来。 如: #1Jan,97##1998-5-1212: 30: 00pm# 5.逻辑型常量 True和False 逻辑数据转换为整型时: true转换为-1false转换为0 其它类型转换为逻辑数据时: 非0为True0为False 6.字符型常量: 用双引号括起来,sever2000中用单引号 **VB中一个西文字符和一个汉字都占两个字节 3.4变量与常量定义 1.变量定义 格式: Dim|Private|Public|Static变量名[As类型] 注: **[As类型]可用变量名后紧跟类型符代替 **[As类型]缺省为变体型 **可同时定义多个变量,但每个变量都要指明类型。 如: dimx%,y%,z! **字符型变量分为定长和变长两种,定义方法 变长字符变量: Dim变量名Asstring 定长字符变量: Dim变量名Asstring*字符数 如: dimc1asstring*8 **VB中变量可不定义,直接使用,由所赋的值决定其类型 但最好强制变量声明,这样易发现错误。 方法: ”工具”菜单à选项à”编辑器”选项卡勾选”强制变量声明” 2.常量定义 格式: Public|PrivateConst常量名[As数据类型]=值 注: **[As类型]缺省,则常量类型由所赋的值决定 **[As类型]可用常量名后紧跟类型符代替 3.4运算符 1.算术运算符: ^(乘方)-(负号)*/\(整除)Mod+-从左到右优先级由高到低 2.字符串连接符: +操作数须均为字符型 &操作数可为字符型或数值型,连接前会自动转换为字符型 注: 变量与&符号之间应加空格,因为&还是数据类型符 3.关系运算符: =>>=<<=<>LikeIs 注: **关系运算符优先级相同 **数值型操作数按大小比较,字符型操作数按ASCII码大小比较 **LIKE类似于SQL中的Like,可与通配符? 、*、#、[范围]、[! 范围]结合使用 ? 任意单字符 *任意字符串 #任意一个数值 4.逻辑运算符: Not、And、Or、Xor(异或)、Eqv(等价)、Imp(蕴含) 注: 如操作数是数值,则以数字的二进制值逐位进行逻辑运算。 例: 1011and0111得到0010对应十进制数2 5.各种运算符优先级 算术运算符>关系运算符>逻辑运算符 3.5常用内部函数 1.数学函数 Abs(N)取绝对值 Rnd(N)产生0~1之间的随机数 Sgn(N)符号函数。 N>0返回1,N<0返回-1,N=0返回0 Sqr(N)平方根 2.转换函数 Str$(N)数值转换为字符串 Val(C)(数字)字符串转换为数值 Asc(C)字符转换成Ascii码 Chr$(Ascii码)Ascii码转换成字符 Fix(N)取整,直接去掉小数点及小数 Int(N)取不大于N的最大整数 Hex[$](N)十进制转换成十六进制 Oct[$](N)十进制转换成八进制 3.字符串函数 约定: C、C1、C2代表字符串N、N1、N2代表整数 Left$(C,N)取字符串左边n个字符 Right(C,N)取字符串右边n个字符 Mid$(C,N1,N2)在C中从N1向右取N2个字符 Len(C)返回字符串中字符数 LenB(C)返回字符串所占字节数 Ltrim$(C)去掉字符串左边空格 Rtrim$(C)去掉字符串右边空格 StrComp(C1,C2[,M])若C1>C2返回1,C1 StrReverse(C)返回逆置后的字符串 InStr([N1],C1,C2,[M])返回子串C2在C1中的位置。 从N1开始找,省略N1从头找。 M=0(默认)区分大小写,M=1不区分 *InstrRev(C1,C2,[N1],[M])同InStr,只是从串尾开始找,返回的位置都是从串头开始算 左侧第一个字符为1 Replace(C,C1,C2[,N1][,N2][,M])用C2替换C中的子串C1,从N1(省略从头)开始找C1,替换N2 Join(A[,分隔符])返回数组各元素按分隔符连接而成的字符串。 如A=array(“12”,”3”,”4”)Join(A,””)返回”1234” Split(C[,分隔符])将字符串C按分隔符分隔成字符数组。 如S=Split(“123,56,ab”,“,”)则S(0)=”123”S (1)=”56”S (2)=”ab” String$(N,C)返回由C中首字符重复N次组成的字符串。 如: String$(3,”abc”)返回”aaa” Space$(N)返回N个空格组成的字符串 注: 字符编码常识 Windows对字符采用DBCS编码,西文字符与Ascii码一样是单字节,汉字是两字节 VB采用UniCode(国际标准化组织字符标准),无论中西文一律采用两个字节。 对于Ascii码也是两字节,前一字节全补0 4.字符串编码转换函数StrConv 格式: StrConv(C,VbFromUnicode|VbUnicode) 注: VbFromUnicode将Unicode码转换成DBCS码 VbUnicode将DBCS码转换成Unicode码 **VB下不能显示DBCS编码的字符串,是乱码。 因为VB以Unicode码处理字符串。 5.日期函数 6.格式输出函数 7.SHELL函数 8.与用户交互的函数 InputBox打开一个输入对话框,供输入数据 格式: 变量=InputBox(提示字符串[,对话框标题][,显示在输入框的默认值][,x,y]) 注: x,y为对话框左上角坐标 MsgBox输出消息对话框 格式: 变量=MsgBox(提示[,按钮类型][,对话框标题]) MsgBox提示[,按钮类型][,对话框标题] 注: 按钮类型: 3.6程序控制结构 1.选择结构 VB C语言 选 择 结 构 1 if条件then语句 (只能写在一行)如有多条语句须用: 分隔 If(条件)语句块; 或写成 if(条件) 语句块; If条件then 语句块 endif 变量=iif(条件,True时的值,False时的值) 变量=条件? 表达式,表达式2 2 If条件then 语句块 else 语句块 endif If(条件) 语句 else 语句 If条件then语句1else语句2 (只能写在一行) 3 If条件then 语句块 elseif条件then 语句块 … else 语句块 endif If(条件)语句 Elseif(条件)语句 Elseif(条件)语句 …. Else语句 4 SelectCase表达式 Case值列表1 语句块 Case值列表2 语句块 …. CaseElse 语句块 EndSelect 注: 值列表例: Case1 Case1to10 Case2,4,6,8 CaseIs>10 Case1,2to6,Is>10 Switch(表达式) {case常量表达式1: 语句;break; case常量表达式1: 语句;break; case常量表达式1: 语句;break; …. Default: 语句 } For循环变量=初值to终值[step步长] 语句块 [ExitFor] Next循环变量 For(exp1;exp2;exp3)语句 9.3使用ADO访问数据库 9.3.1.ADO简介 ADO通过OLEDB访问不同类型的数据源。 OLEDB是底层编程接口,主要包括3个部分。 数据提供者: 从各种数据源(如数据库、文本文件、电子表格等)读取数据,并将这些数据转换成数据消费 者支持的格式(一般为关系型数据表)。 数据消费者: 使用数据提供者提供的数据的应用程序。 (几是使用ADO的应用程序都是消费者) 服务组件: 作用是连接数据消费者和数据提供者。 或将数据转换为不同的类型。 9.3.2.ADO对象模型: ADO中包括7个对象,其中3个独立对象Connection、Command、Recordset和4个非独立对象(依赖独立对象才能使 用)Field、Error、Parameter、Property 在VB中使用ADO必须先引用: “工程”菜单à引用à选“MicrosoftActiveXDataObjects2.0Library”à确定 新方法: (2011年5月25日星期三整理) start ----------------------------------------------------------------------------------------------------------------------------- PrivateCurSqlSeverAsString*15,CurDataBaseAsString*15,CurUserNameAsString*15,CurPasswordAsString*15 DimcnAsNewADODB.Connection'定义连接变量 DimrsAsNewADODB.Recordset'定义记录集变量 '初始化连接变量,以操作具体的数据库 cn.ConnectionString="Driver={sqlserver}"&";server="&Trim(CurSqlSever)&";uid="&Trim(CurUserName) &";pwd="&Trim(CurPassword)&";database="&Trim(CurDataBase) cn.ConnectionTimeout=30'设置连接超时为30秒 cn.Open'打开连接 '打开/关闭记录集 rs.Open"SELECT语句",cn,adOpenStatic,adLockReadOnly,adCmdText rs.Close ----------------------------------------------------------------------------------------------------------------------------- finish '执行更新操作 cn.Execute"update语句" 1.Connection对象: 即连接对象,主要用于建立数据源(如数据库)连接,任何对数据源的其他操作都建 立在连接的基础上。 连接建立步骤: s1: 定义并实例化连接对象 dim连接对象指针名(如objcn)asConnection set连接对象指针名=newConnection s2: 指定数据提供者类型 连接对象指针名.Provider=”数据提供者类型” 如: 指定数据提供者为SQLSEVER数据库 objcn.Provider=”SQLOLEDB” s3: 设置连接信息 即设置Connection对象的ConnectionString(连接字符串)属性,不同类型的数据提供者,ConnectionString 的参数是不同的。 例: 连接SQLSEVER数据库“学习分制选课”,用户sa可访问该数据库,sa用户密码是123,数据库所在服务器为本地服务器 连接对象指针名.ConnectionString=”UserID=sa;PWD=123;DataSource=(local);InitialCatalog=学分制选课” 连接字符串主要参数说明: Provider: 指定数据提供者类型,同连接对象的Provider属性(二者只要设置一 个即可) UserID或UID: 具有要连接数据库访问权限的用户名 Password或PWD: 上述用户的密码 DataSource或Sever: 要连接的数据库所在的SQLSever服务器名 NetworkAddress: 要连接的数据库所在的SQLSever服务器的IP地址。 *如设置了该参数,则无需再设置DataSource InitialCatalog或Database: 指定要连接的数据库的名称 注: 参数名不区分大小写,参数在连接字符串中不分先后顺序,参数之间用 分号分隔 ***快速获得连接字符串,以SQLSEVER数据为例,方法: 打开记事本à不输入任何内容,直接选另存为à保存类型下拉框选”所有文件” à文件名框输入: 文件名.udlà单击保存 双击打开刚才建立的UDI文件à选“提供程序”选项卡à选择合适的提供程序,选”MicrosoftOLEDBProviderforSQLSEVER”à单击“下一步”à 选择或输入服务器名称框: 用于设置要连接的数据库所在的服务器 使用WindowsNT集成安全设置: 即使用当前Windows用户身份访问数据库(当然该用户应具有访问的权限) 使用指定的用户名和密码: 用SEVER登录帐户访问数据库 在服务器上选择数据库: 选择要连接的数据库 测试连接: 测试能否正确连接 ***快速获得连接字符串,以Access数据库为例,方法 双击打开刚才建立的UDI文件à选“提供程序”选项卡à选择合适的提供程序,选”MicrosoftJet3.51OLEDBProvider”à单击“下一步”à 选择或输入数据库名称: 用于设置要连接的数据库 输入数据库的登录信息 测试连接: 测试能否正确连接 s4: 打开连接: 连接对象指针名.open(open是连接对象的方法) 如: objcn.open 断开连接: 连接对象指针名.close 如: objcn.close 释放连接对象: set连接对象指针名=Nothing ***当完成对数据库的访问后,应用close方法断开连接,断开后可用open方法重新打开。 如连接断开后不再使用。 应释放连接对象 2、Command对象: 即命令对象,用于执行各种SQL命令或存储过程。 (1)常用属性 ActiveConnection: 设置命令对象使用的活动连接,也可返回 CommandText: 设置命令对象使用的SQL命令、存储过程名、或表名称,也可返回 CommandType: 说明CommandText值的类型,其值与相应含义: AdCmdTextSQL命令 AdCmdStoreProc存储过程 AdCmdTable表名称 State: 返回命令当前所处状态,值与含义: AdStateConnecting连接 AdStateOpen打开 AdStateClosed关闭 AdStateExecuting正在执行 AdStateFetching正在读取记录 **Connection对象和Recordset对象也包含State属性 (2)常用方法 Cancel: 撤消正在执行的命令 Execute: 执行(用CommandText属性指定的)命令 Createparameter: 创建参数对象,以便执行带参数的存储过程 (3)命令对象的创建 法一: 从已经打开的连接上创建命令对象,即先建立并打开连接,然后设置命令对象的ActiveConnection属性为刚才建立的连接。 该方式效率最高 例: Dimobjcnasconnection,objcmdascommand setobjcn=newconnection objcn.provider=”SQLOLEDB” objcn.connectionstring=”uid=sa;pwd=123;sever=(local);Database=学分制选课” objcn.open setobjcmd=newcommand setobjcmd.activeConnection=objcn objcmd.CommandText=”Update选课记录set成绩=成绩+10” objcmd.CommandType=adCmdtext objcmd.Execute 法二: 创建独立的Command对象,将把原来连接字符串中放置的连接信息放在命令对象的确ActiveConnection属性即可。 该法无需创建单独的连接。 例: dimobjcmdascommand setobjcmd=newcommand setobjcmd.activeConnection=”Provider=SQLOLEDB;uid=sa;pwd=123;sever=(local); Database=学分制选课” objcmd.CommandText=”Update选课记录set成绩=成绩+10” objcmd.CommandType=adCmdtext objcmd.Execute 3、Recordset对象: 即记录集对象,用于保存查询获得的记录以及将修改后的记录返回服务器。 (1)基本属性 ActiveConnection: 设置记录集对象使用的活动连接,也可返回 CursorLocation: 设置记录指针(也称光标、游标)的位置,默认为adUseSever CursorType: 设置记录指针(即记录集)类型,默认为adOpenForward 常量与含义: adOpenForwardOnly仅向前指针(记录集) adOpenKeyset键集指针 adOpendynamic动态指针 adOpenStatic静态指针 ***有的数据提供者不支持所有指针 Filter: 设置记录集中记录满足的条件,也可返回 LockType: 设置记录加锁类型,默认为adLockReadonly。 也可返回 Sort: 对记录集中的记录排序。 RecordCount: 返回记录集中记录的个数 State: 返回记录集的当前状态 Bof: 返回记录指针是否指向第一条记录之前,逻辑型 Eof: 返回记录指针是否指向最后一条记录之后,逻辑型 pageSize: 设置记录集每个记录页的记录条数,默认值是10。 也可返回 pageCount: 返回记录页的个数。 absolutePage: 返回当前记录页序号 AbsolutePosition: 返回当前记录指针绝对位置(的序号),第一条记录为0 Bookmark: 返回惟一标识当前记录的书签,或设置书签标识的记录为当前记录 常用方法 movefirst、movelast、moveNext、movePrevious、moven类似DAO find (2)记录集对象的创建 法1: 使用Command对象创建记录集对象 即设置命令对象的命令文本为Select查询语句,然后实例化记录集对象为命令对象.Execute 例: dimobjcnasConnection,objcmdasCommand,objrsasRecordset setobjcn=newconnection setobjcmd=newcommand setobjrs=newrecordset Withobjcn .provider=”SQLOLEDB” .ConnectionString=”uid=sa;pwd=123;Sever=(local);Database=学分制选课” .Open endwith Withobjcmd .ActiveConnection=objcn .CommandText=”select*from学生信息” .CommandType=adcmdtext endwith setobjrs=objcmd.Execute 法2: 直接使用记录集对象的Open方法创建记录集对象 例: dimobjcnasConnection,objrsasRecordset setobjcn=newconnection setobjrs=newrecordset withobjcn .provider=”SQLOLEDB” .ConnectionString=”uid=sa;pwd=123;Sever=(local);Database=学分制选课” .Ope
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 学习 资料 笔记 教程