VB学习资料笔记教程_第1页
VB学习资料笔记教程_第2页
VB学习资料笔记教程_第3页
VB学习资料笔记教程_第4页
VB学习资料笔记教程_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、三、VB基本语言 3.1代码书写规范 1如一行写多条语句,语句间用“:”分隔 2一条语句如写在多行,行尾加续行符“ _”(一个空格加一个下划线) 3单行注释以单引号打头。如要快速将多行设为注释,可先选中,然后单击”编辑”工具栏的”设置注释块”。取消则用“解除注释块按钮”。 3.2数据类型 1.基本类型数据类型关键字类型符前缀占字节数字节型ByteByt1逻辑型BooleanBln2整形Integer%Int2长整型Long&Lng4单精度型Single!Sng4双精度型Double#Dbl8货币型CurrencyCur8日期型Date(time)Dtm8字符型String$Str与字符串长度有

2、关对象型ObjectObj4变体型VariantVnt注:类型转换规则:IntegerLongSingleDouble = = Like Is 注:*关系运算符优先级相同 *数值型操作数按大小比较,字符型操作数按ASCII码大小比较 *LIKE类似于SQL中的Like ,可与通配符?、* 、# 、范围、 !范围 结合使用 ?任意单字符 * 任意字符串 # 任意一个数值 4逻辑运算符:Not、And、Or、Xor(异或)、Eqv(等价)、Imp(蕴含) 注:如操作数是数值,则以数字的二进制值逐位进行逻辑运算。 例:1011 and 0111 得到 0010 对应十进制数2 5.各种运算符优先级

3、算术运算符关系运算符逻辑运算符 3.5常用内部函数 1数学函数 Abs(N) 取绝对值 Rnd(N) 产生01之间的随机数 Sgn(N) 符号函数。N0返回1,NC2返回1, C110Case 1,2 to 6, Is10Switch(表达式)case 常量表达式1:语句;break; case 常量表达式1:语句;break; case 常量表达式1:语句;break; . Default:语句For 循环变量=初值 to 终值 step 步长 语句块 Exit ForNext 循环变量For(exp1;exp2;exp3) 语句9.3使用ADO访问数据库 9.3.1.ADO简介 ADO通过

4、OLE DB访问不同类型的数据源。 OLE DB是底层编程接口,主要包括3个部分。 数据提供者:从各种数据源(如数据库、文本文件、电子表格等)读取数据,并将这些数据转换成数据消费者支持的格式(一般为关系型数据表)。 数据消费者:使用数据提供者提供的数据的应用程序。(几是使用ADO的应用程序都是消费者) 服务组件 :作用是连接数据消费者和数据提供者。或将数据转换为不同的类型。 9.3.2ADO对象模型: ADO中包括7个对象,其中3个独立对象Connection、Command、Recordset和4个非独立对象(依赖独立对象才能使用)Field、Error、Parameter、Property

5、在VB中使用ADO必须先引用:“工程”菜单引用选“Microsoft ActiveX Data Objects 2.0 Library” 确定新方法:(2011年5月25日星期三 整理)start-Private CurSqlSever As String * 15, CurDataBase As String * 15, CurUserName As String * 15, CurPassword As String * 15Dim cn As New ADODB.Connection 定义连接变量Dim rs As New ADODB.Recordset 定义记录集变量初始化连接变量,以

6、操作具体的数据库cn.ConnectionString = Driver=sql server & ;server= & Trim(CurSqlSever) & ;uid= & Trim(CurUserName) & ;pwd= & Trim(CurPassword) & ;database= & Trim(CurDataBase) cn.ConnectionTimeout = 30 设置连接超时为30秒cn.Open 打开连接打开/关闭记录集rs.Open SELECT 语句, cn, adOpenStatic,adLockReadOnly,adCmdTextrs.Close-finish执

7、行更新操作cn.Execute update 语句1 Connection对象:即连接对象,主要用于建立数据源(如数据库)连接,任何对数据源的其他操作都建 立在连接的基础上。 连接建立步骤: s1:定义并实例化连接对象 dim 连接对象指针名(如objcn) as Connection set 连接对象指针名=new Connection s2:指定数据提供者类型 连接对象指针名.Provider=”数据提供者类型” 如:指定数据提供者为SQL SEVER数据库objcn.Provider=”SQLOLEDB” s3:设置连接信息 即设置Connection对象的ConnectionStrin

8、g(连接字符串)属性,不同类型的数据提供者,ConnectionString的参数是不同的。 例:连接SQL SEVER数据库“学习分制选课”,用户sa可访问该数据库,sa用户密码是123,数据库所在服务器为本地服务器 连接对象指针名.ConnectionString= ”User ID=sa; PWD=123; Data Source=(local); Initial Catalog=学分制选课”连接字符串主要参数说明: Provider:指定数据提供者类型,同连接对象的Provider属性(二者只要设置一个即可) User ID或UID:具有要连接数据库访问权限的用户名 Password或

9、PWD:上述用户的密码 Data Source或Sever:要连接的数据库所在的SQL Sever服务器名 Network Address:要连接的数据库所在的SQL Sever服务器的IP地址。 *如设置了该参数,则无需再设置Data Source Initial Catalog或Database:指定要连接的数据库的名称 注:参数名不区分大小写,参数在连接字符串中不分先后顺序,参数之间用分号分隔 *快速获得连接字符串,以SQL SEVER数据为例,方法: 打开记事本不输入任何内容,直接选另存为保存类型下拉框选”所有文件” 文件名框输入:文件名.udl单击保存双击打开刚才建立的UDI文件选“

10、提供程序”选项卡选择合适的提供程序,选”Microsoft OLE DB Provider for SQL SEVER” 单击“下一步” 选择或输入服务器名称框:用于设置要连接的数据库所在的服务器 使用Windows NT集成安全设置:即使用当前Windows用户身份访问数据库(当然该用户应具有访问的权限) 使用指定的用户名和密码:用SEVER登录帐户访问数据库 在服务器上选择数据库:选择要连接的数据库 测试连接:测试能否正确连接*快速获得连接字符串,以Access数据库为例,方法双击打开刚才建立的UDI文件选“提供程序”选项卡选择合适的提供程序,选”Microsoft Jet 3.51 OL

11、E DB Provider” 单击“下一步” 选择或输入数据库名称:用于设置要连接的数据库 输入数据库的登录信息 测试连接:测试能否正确连接 s4:打开连接:连接对象指针名.open (open是连接对象的方法 ) 如:objcn.open 断开连接:连接对象指针名.close 如:objcn.close 释放连接对象:set 连接对象指针名=Nothing *当完成对数据库的访问后,应用close方法断开连接,断开后可用open方法重新打开。如连接断开后不再使用。应释放连接对象2、Command对象:即命令对象,用于执行各种SQL命令或存储过程。 (1)常用属性 ActiveConnecti

12、on:设置命令对象使用的活动连接,也可返回 CommandText : 设置命令对象使用的SQL命令、存储过程名、或表名称,也可返回 CommandType :说明CommandText值的类型,其值与相应含义: AdCmdText SQL命令 AdCmdStoreProc 存储过程 AdCmdTable 表名称 State: 返回命令当前所处状态,值与含义: AdStateConnecting 连接 AdStateOpen 打开 AdStateClosed 关闭 AdStateExecuting 正在执行 AdStateFetching 正在读取记录 *Connection对象和Record

13、set对象也包含State属性 (2)常用方法 Cancel:撤消正在执行的命令 Execute:执行 (用CommandText属性指定的)命令 Createparameter:创建参数对象,以便执行带参数的存储过程 (3)命令对象的创建 法一:从已经打开的连接上创建命令对象,即先建立并打开连接,然后设置命令对象的ActiveConnection属性为刚才建立的连接。该方式效率最高 例:Dim objcn as connection,objcmd as command set objcn=new connection vider=”SQLOLEDB” objcn.conne

14、ctionstring=”uid=sa; pwd=123; sever=(local); Database=学分制选课” objcn.open set objcmd=new command set objcmd.activeConnection=objcn objcmd.CommandText=”Update 选课记录 set 成绩=成绩+10” objcmd.CommandType=adCmdtext objcmd.Execute 法二:创建独立的Command对象,将把原来连接字符串中放置的连接信息放在命令对象的确ActiveConnection属性即可。该法无需创建单独的连接。 例:di

15、m objcmd as command set objcmd=new command set objcmd.activeConnection=”Provider=SQLOLEDB; uid=sa; pwd=123; sever=(local); Database=学分制选课” objcmd.CommandText=”Update 选课记录 set 成绩=成绩+10” objcmd.CommandType=adCmdtext objcmd.Execute3、Recordset对象:即记录集对象,用于保存查询获得的记录以及将修改后的记录返回服务器。(1)基本属性 ActiveConnection:

16、设置记录集对象使用的活动连接,也可返回 CursorLocation: 设置记录指针(也称光标、游标)的位置,默认为adUseSever CursorType: 设置记录指针(即记录集)类型,默认为adOpenForward 常量与含义: adOpenForwardOnly 仅向前指针(记录集) adOpenKeyset 键集指针 adOpendynamic 动态指针 adOpenStatic 静态指针 *有的数据提供者不支持所有指针 Filter:设置记录集中记录满足的条件,也可返回 LockType:设置记录加锁类型,默认为adLockReadonly。也可返回 Sort:对记录集中的记录

17、排序。 RecordCount:返回记录集中记录的个数 State:返回记录集的当前状态 Bof:返回记录指针是否指向第一条记录之前,逻辑型 Eof:返回记录指针是否指向最后一条记录之后,逻辑型 pageSize:设置记录集每个记录页的记录条数,默认值是10。也可返回 pageCount:返回记录页的个数。 absolutePage:返回当前记录页序号 AbsolutePosition:返回当前记录指针绝对位置(的序号),第一条记录为0 Bookmark:返回惟一标识当前记录的书签,或设置书签标识的记录为当前记录 常用方法 movefirst、movelast、moveNext、movePre

18、vious、move n 类似DAO find (2)记录集对象的创建 法1:使用Command对象创建记录集对象 即设置命令对象的命令文本为Select查询语句,然后实例化记录集对象为命令对象.Execute 例:dim objcn as Connection,objcmd as Command,objrs as Recordset set objcn=new connection set objcmd=new command set objrs=new recordset With objcn .provider=”SQLOLEDB” .ConnectionString=”uid=sa;

19、pwd=123; Sever=(local); Database=学分制选课” .Open end with With objcmd .ActiveConnection=objcn .CommandText=”select * from 学生信息” .CommandType=adcmdtext end with set objrs=objcmd.Execute 法2:直接使用记录集对象的Open方法创建记录集对象 例:dim objcn as Connection,objrs as Recordset set objcn=new connection set objrs=new records

20、et with vider=”SQLOLEDB” .ConnectionString=”uid=sa; pwd=123; Sever=(local); Database=学分制选课” .Open end with with objrs .ActiveConnection=objcn .open “select * from 学生信息”end with注:如要设置同一对象的多个属性,使用with 对象名end with,可避免多次书写对 象名的麻烦 法3:创建独立的记录集对象,该法无需先创建一个连接对象 例:dim objrs as recordset,strcn$,strSQ

21、L$ set objrs=new recordset strcn=”provider=SQLOLEDB; uid=sa; pwd=123; Sever=(local); Database=学分制选课” strSQL=”select * from 学生信息” objrs.open strSQL,strcn 法4:创建断开连接的记录集对象 Recordset对象在使用时,并非必须保持与数据库的连接 断开连接的Recordset对象可节约服务器维持连接所需的开销 对断开连接的Recordset对象所做的更新操作,高速缓存在本地计算机中 重建连接后,可使用UpdateBatch将更新送到服务器 创建方

22、法:使用记录集对象的open方法打开记录集,同时要指定CursorLocation为aduseClient,LockType为adLockBatchOptimistic。然后再断开与数据库的连接。之后可使用已经断开连接的记录集。如需保存修改到服务器,则重建连接,然后使用记录集对象的UpdateBatch方法 例:定义并实例化对象dim objcn as Connection,objrs as recordset set objcn=new Connection set objrs=new Recordset 创建数据库链接 with vider=”SQLOLEDB” .Con

23、nectionString=”uid=sa; pwd=123; Sever=(local); Database=学分制选课” .Open end with 使用记录集的open方法创建记录集对象 with objrs .ActiveConnection=objcn .CursorLocation=aduseClient 使用客户端记录指针 .LockType=adLockBatchOptimistic 使用开放式批更新锁定 .open “select * from 学生信息” end with 断开数据库连接 set objrs.activeConnection=Nothing objcn.close 使用记录集 重新建立连接 objcn.open objrs.ActiveConnection=objcn objrs.UpdateBatch (3)引用记录集中的字段 例:引用记录集objrs中的“姓名”字段,该字段是第2个字段,有如下几种方法: txtname=objrs!姓名 效率较高 txtname=objrs.fields(2) txtname=objrs.fields(“姓名”) txtname=objrs.fields(2).value txtname=objrs.fields(“姓名”).value (4)记录集排序

温馨提示

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

最新文档

评论

0/150

提交评论