网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

VB学习资料笔记教程

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了VB学习资料笔记教程的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!


    三、VB基本语言3.1代码书写规范1.如一行写多条语句,语句间用“:”分隔2.一条语句如写在多行,行尾加续行符“_”(一个空格加一个下划线)3.单行注释以单引号打头。如要快速将多行设为注释,可先选中,然后单击”编辑”工具栏的”设置注释块”。取消则用“解除注释块按钮”。3.2数据类型1.基本类型数据类型字节型逻辑型整形长整型单精度型双精度型货币型日期型字符型对象型变体型关键字ByteBooleanIntegerLongSingleDoubleCurrencyDate(time)StringObjectVariant$%&;!#@类型符前缀BytBlnIntLngSngDblCurDtmStrObjVnt占字节数12244888与字符串长度有关4
    注:类型转换规则:Integer     其它类型转换为逻辑数据时:非0为True0为False6.字符型常量:用双引号括起来,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对应十进制数25.各种运算符优先级算术运算符>关系运算符>逻辑运算符3.5常用内部函数1.数学函数
     Abs(N)取绝对值Rnd(N)产生0~1之间的随机数Sgn(N)符号函数。N>0返回1,N<0返回-1,N=0返回0Sqr(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个字符取字符串右边n个字符Right(C,N)Mid$(C,N1,N2)在C中从N1向右取N2个字符Len(C)返回字符串中字符数LenB(C)返回字符串所占字节数Ltrim$(C)去掉字符串左边空格Rtrim$(C)去掉字符串右边空格StrComp(C1,C2[,M])若C1>C2返回1,C1    *InstrRev(C1,C2,[N1],[M])都是从串头开始算Replace(C,C1,C2[,N1][,N2][,M])头)开始找C1,替换N2Join(A[,分隔符])串。
     注:字符编码常识Windows对字符采用DBCS编码,西文字符与Ascii码一样是单字节,汉字是两字节VB采用UniCode(国际标准化组织字符标准),无论中西文一律采用两个字节。对于Ascii码也是两字节,前一字节全补04.字符串编码转换函数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.选择结构VBif条件1then语句(只能写在一行)如有多条语句须用:分隔C语言If(条件)语句块;或写成if(条件)语句块;变量=条件?表达式,表达式2If(条件)语句else语句(只能写在一行)
    If条件then语句块endif变量=iif(条件,True时的值,False时的值)If条件then语句块else语句块endifIf条件then语句1else语句2
    2选择结构
     3
    If条件then语句块elseif条件then语句块…else语句块endifSelectCase表达式Case值列表1语句块Case值列表2语句块….CaseElse语句块EndSelect注:值列表例:Case1Case1to10Case2,4,6,8CaseIs>10Case1,2to6,Is>10
    If(条件)语句Elseif(条件)语句Elseif(条件)语句….Else语句
    4
    Switch(表达式){case常量表达式1:语句;break;case常量表达式1:语句;break;case常量表达式1:语句;break;….Default:语句}For(exp1;exp2;exp3)语句
    For循环变量=初值to终值[step步长]语句块[ExitFor]Next循环变量
    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*15DimcnAsNewADODB.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,adCmdTextrs.Close---------------------------------------------------------------------------------------------------------------------------finish'执行更新操作cn.Execute"update语句"
    1.Connection对象对象:即连接对象,主要用于建立数据源(如数据库)连接,任何对数据源的其他操作都建立在连接的基础上。连接建立步骤:s1:定义并实例化连接对象dim连接对象指针名(如objcn)asConnectionset连接对象指针名=newConnections2:指定数据提供者类型连接对象指针名.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地址。*如设置了该参数,则无需再设置DataSourceInitialCatalog或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,objcmdascommandsetobjcn=newconnectionobjcn.provider=”SQLOLEDB”objcn.connectionstring=”uid=sa;pwd=123;sever=(local);Database=学分制选课”objcn.opensetobjcmd=newcommandsetobjcmd.activeConnection=objcnobjcmd.CommandText=”Update选课记录set成绩=成绩+10”objcmd.CommandType=adCmdtextobjcmd.Execute法二:创建独立的Command对象,将把原来连接字符串中放置的连接信息放在命令对象的确ActiveConnection属性即可。该法无需创建单独的连接。例:dimobjcmdascommandsetobjcmd=newcommand
     setobjcmd.activeConnection=”Provider=SQLOLEDB;uid=sa;pwd=123;sever=(local);Database=学分制选课”objcmd.CommandText=”Update选课记录set成绩=成绩+10”objcmd.CommandType=adCmdtextobjcmd.Execute3、Recordset对象对象:即记录集对象,用于保存查询获得的记录以及将修改后的记录、返回服务器。(1)基本属性ActiveConnection:设置记录集对象使用的活
    动连接,也可返回CursorLocation:设置记录指针(也称光标、游标)的位置,默认为adUseSeverCursorType:设置记录指针(即记录集)类型,默认为adOpenForward常量与含义:adOpenForwardOnly仅向前指针(记录集)adOpenKeyset键集指针adOpendynamic动态指针adOpenStatic静态指针***有的数据提供者不支持所有指针Filter:设置记录集中记录满足的条件,也可返回LockType:设置记录加锁类型,默认为adLockReadonly。也可返回Sort:对记录集中的记录排序。RecordCount:返回记录集中记录的个数State:返回记录集的当前状态Bof:返回记录指针是否指向第一条记录之前,逻辑型Eof:返回记录指针是否指向最后一条记录之后,逻辑型pageSize:设置记录集每个记录页的记录条数,默认值是10。也可返回pageCount:返回记录页的个数。absolutePage:返回当前记录页序号AbsolutePosition:返回当前记录指针绝对位置(的序号),第一条记录为0Bookmark:返回惟一标识当前记录的书签,或设置书签标识的记录为当前记录常用方法movefirst、movelast、moveNext、movePrevious、movenDAOfind
    类似
     (2)记录集对象的创建
     法1:使用Command对象创建记录集对象即设置命令对象的命令文本为Select查询语句,然后实例化记录集对象为命令对象命令对象.Execute命令对象例:dimobjcnasConnection,objcmdasCommand,objrsasRecordsetsetobjcn=newconnectionsetobjcmd=newcommandsetobjrs=newrecordsetWithobjcn.provider=”SQLOLEDB”.ConnectionString=”uid=sa;pwd=123;Sever=(local);Database=学分制选课”.OpenendwithWithobjcmd.ActiveConnection=objcn.CommandText=”select*from学生信息”.CommandType=adcmdtextendwithsetobjrs=objcmd.Execute法2:直接使用记录集对象的Open方法创建记录集对象例:dimobjcnasConnection,objrsasRecordsetsetobjcn=newconnectionsetobjrs=newrecordsetwithobjcn.provider=”SQLOLEDB”.ConnectionString=”uid=sa;pwd=123;Sever=(local);Database=学分制选课”.Openendwithwithobjrs.ActiveConnection=objcn.open“select*from学生信息学生信息”endwith注:如要设置同一对象的多个属性,使用with对象名…endwith,可避免多次书写对象名的麻烦法3:创建独立的记录集对象,该法无需先创建一个连接对象例:dimobjrsasrecordset,strcn$,strSQL$setobjrs=newrecordsetstrcn=”provider=SQLOLEDB;uid=sa;pwd=123;Sever=(local);Database=学分制选课”strSQL=”select*from学生信息”objrs.openstrSQL,strcn
     法4:创建断开连接的记录集对象Recordset对象在使用时,并非必须保持与数据库的连接断开连接的Recordset对象可节约服务器维持连接所需的开销对断开连接的Recordset对象所做的更新操作,高速缓存在
    本地计算机中重建连接后,可使用UpdateBatch将更新送到服务器创建方法:使用记录集对象的open方法打开记录集,同时要指定CursorLocation为aduseClient,LockType为adLockBatchOptimistic。然后再断开与数据库的连接。之后可使用已经断开连接的记录集。如需保存修改到服务器,则重建连接,然后使用记录集对象的UpdateBatch方法例:’定义并实例化对象dimobjcnasConnection,objrsasrecordsetsetobjcn=newConnectionsetobjrs=newRecordset‘创建数据库链接withobjcn.provider=”SQLOLEDB”.ConnectionString=”uid=sa;pwd=123;Sever=(local);Database=学分制选课”.Openendwith‘使用记录集的open方法创建记录集对象withobjrs.ActiveConnection=objcn.CursorLocation=aduseClient‘使用客户端记录指针.LockType=adLockBatchOptimistic式批更新锁定.open“select*from学生信息”endwith‘断开数据库连接setobjrs.activeConnection=Nothingobjcn.close……集‘重新建立连接objcn.openobjrs.ActiveConnection=objcn‘使用开放
    ‘使用记录
     objrs.UpdateBatch(3)引用记录集中的字段例:引用记录集objrs中的“”字段,该字段是第2个字段,有如下几种方法:txtname=objrs!高txtname=objrs.fields(2)txtname=objrs.fields(“”)txtname=objrs.fields(2).valuetxtname=objrs.fields(“”).value(4)记录集排序例:按””字段对记录集objrs排序,要求升序objrs.Sort=”ASC”取消对记录集的排序objrs.Sort=””注:记录集的排序只影响访问记录的顺序,实际数据库并没有排序可按多个字段排序,字段间用逗号分隔排序可按ASC(默认)或DESC(5)筛选记录集中的记录例:使记录集objrs中只包含90年1月1日后出生记录objrs.Filter=”出生日期>#1990-1-1#”取消对记录集的筛选objrs.Filter=””或objrs.Filter=adFilterNone注:字符串中的字符串用单引号括起来,日期用#括起来。字符串中可使用关系运算符、逻辑运算符And和Or(and和or没有优先级之分)、LIKElike中”*”或”%”代表任意长字符串,下划线”_”代表任一单字符(6)查找记录可用记录集的Find方法,语法格式:记录集对象指针.Find条件字符串,n,方向,start例:在记录集objrs中查找出生日期为90年1月1日的记录objrs.Find“出生日期=#1990-1-1#”注:条件字符串中的字符串用单引号括起来,日期用#括起来(7)添加记录法1:在使用记录集的Addnew方法,在记录集的末尾添加一条空记录,并自动成为当前记录如:objrs.addnew注:执行AddNew方法时,ADO将自动执行Update方法保存前面修改或添加的记录‘效率较效率较
     法2:使用Connection或Command对象的
    execute方法执行Insert命令(8)删除记录法1:使用记录集的delete方法如:objrs.Delete注:删除的是当前记录,记录删除后,记录指针仍指向该记录,此时访问该记录当然会出错.删除后要移动记录指针法2:使用Connection或Command对象的execute方法执行delete命令(9)修改记录法1:直接修改字段值,注意修改的是当前记录如:objrs!=”Tom”objrs.Update法2:使用Connection或Command对象的Execute方法执行Update命令9.3.3.使用ADO数据控件访问数据库1.属于高级控件,包含在”MicrosoftADODataControl6.0(OLEDB)”中,类似于VB内置数据控件2.基本属性3.编程步骤S1:单击”工程”菜单部件选MicrosoftADODataControl6.0(OLEDB)S2:在窗体上添加ADO控件S3:设置ConnectionString属性连接数据源(这里为数据库)。方法:单击属性窗口ConnectionString的”…”,弹出属性页对话框:(也右击ADO数据控件ADODC属性)对话框说明:使用DataLink文件:通过.udl链接文件连接数据源。“使用ODBC数据资源名称”:选择某个已创建的数据源名称(DSN)作为数据源“使用链接字符串”:使用连接字符串连接数据源单击生成按钮设置”数据链接属性对话框”,方法类似设置.udl链接文件S4:添加绑定控件,并设置DataSource和DataField属性9.3使用数据窗体向导快速建立访问数据(库)的窗体方法与步骤:S1:“外接程序”菜单外接程序管理器选中“VB6数据窗体向导”和“加载/卸载”
     S2:“外接程序”菜单“数据窗体向导”S3:按照向导提示来做注:可先快速建立访问数据(库)的窗体,然后再做适当修改10.1常用API函数及其应用1.使窗口一直在最前:使用SetWindowPos函数编程步骤:step1:在窗体模块或标准模块内声明API函数及相关常数step2:在要在最前的窗体的Load事件中加上SetWindowposhwnd,HWND_TOPMOST,0,0,0,0,FLAGE函数及相关常量声明PublicDeclareFunctionSetWindowPosLib"user32"_(ByValhwndAsLong,_ByValhWndInsertAfterAsLong,_ByValXAsLong,ByValYAsLong,_ByValcxAsLong,ByValcyAsLong,_ByValwFlagsAsLong)AsLongPublicConstSWP_NOMOVE=&;H2或2'不能更新窗口位置PublicConstSWP_NOSIZE=&;H1或1'不能更新窗口大小PublicConstFLAGE=SWP_NOMOVEOrSWP_NOSIZEPublicConstHWND_TOPMOST=-1注:1、函数形参说明hWnd:窗口句柄hWndInsertAfter:值可为窗口句柄,hWnd代表的窗口将出现在该窗口后值也可为常数,常数及意义:0(可定义为常量HWND_TOP)窗口将被定位在A~Z顺序排列的窗口顶部1(可定义为常量HWND_BOTTOM)窗口将被定位在A~Z顺序排列的窗口底部-1(可定义为常量HWND_TOPMOST)窗口将被定位在所有窗口顶部-2(
    可定义为常量HWND_NOTOPMOST)窗口不能被定位在所有窗口顶部x,y:hWnd代表的窗口的左上角坐标cx,cy:hWnd代表的窗口的新的高和宽wFlags:影响窗口大小、位置和是否显示的16位值2、API常数及函数声明,如放在标准模块可用public|private限定作用范围如放在窗体模块只能用private限定作用范围
    
    
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师