版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、限定性选修模块增加算法在数据管理中的应用必修中的数据库相关知识枚举、排序、查找的综合运用VB访问数据库,建立数据库连接读取数据库用数组存储部分数据查找、排序等算法,对数据库中的数据进行简单统计Dim conn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim n As IntegerDim a(200) As SinglePrivate Sub Command1_Click()conn.ConnectionString = Provider=Microsoft.ACE.OLEDB.12.0; Data Source= & A
2、pp.Path & rizhi.accdbconn.OpenSet rs.ActiveConnection = connrs.Open select * from gnipcn = 0Do While Not rs.EOF n = n + 1 a(n) = rs.Fields(“登录次数) rs.MoveNextLooprs.Closeconn.CloseEnd SubWindows 7 32位Visual Basic 6.0 SP6(完全安装版)Access 2010Access 2000,2003 *.mdbAccess 2010 *.accdb在access 2010中从mdb
3、转为 accdb格式二、二、ADOADO数据访问技术数据访问技术三、三、ADOADO对象使用实例对象使用实例一、一、SQLSQL查询查询基础基础 SQLSQL:Structured Structured Query Query LanguageLanguage结构化结构化查询语言查询语言,是对,是对数据操作的命令集。数据操作的命令集。 特点:由于特点:由于所有主要的关系数据库管理系统都支持所有主要的关系数据库管理系统都支持SQLSQL语言语言,所有所有用用SQLSQL编写的程序都是可以移植的编写的程序都是可以移植的。(。(AccessAccess,Sql Sql ServerServer等数据
4、库)等数据库) SQLSQL功能:可以功能:可以面向数据库执行查询、从数据库取回数据、面向数据库执行查询、从数据库取回数据、可在数据库中插入新的纪录、可更新数据库中的数据、可可在数据库中插入新的纪录、可更新数据库中的数据、可从数据库删除记录、可创建新数据库、可在数据库中创建从数据库删除记录、可创建新数据库、可在数据库中创建新表等新表等。其功能可归结为查询。其功能可归结为查询、定义、操纵和、定义、操纵和控制等几个控制等几个方面:方面:SQLSQL功能功能常用语句常用语句数据查询数据查询SELECTSELECT数据定义数据定义CREATE,DROPCREATE,DROP数据操纵数据操纵INSERT
5、,DELETE,UPDATEINSERT,DELETE,UPDATE数据控制数据控制GRANT,REVOKEGRANT,REVOKE SQL(structured query language)结构化查询语言。它是一种标准,不是一种软件。 SQL Server是数据库管理系统的一种它是一种软件,这种软件在遵循SQL这种标准,很多数据库管理软件及开发工具都支持SQL这种标准。可在Access中利用查询中的Sql视图编写查询语句,练习、校对Sql查询语句SELECT SELECT DISTINCT DISTINCT 目标列表达式目标列表达式1 AS 1 AS 别名别名 , ,目标列表目标列表达式达
6、式2 AS 2 AS 别名别名 , FROM FROM 表名表名1 ,1 ,表名表名2 2 WHERE WHERE 条件表达式条件表达式 GROUP BY GROUP BY 列名列名1 HAVING 1 HAVING 组条件表达式组条件表达式ORDER BY ORDER BY 列名列名2 ASC|DESC ;2 ASC|DESC ;功能功能从数据库中查询数据,并以表格形式返回查询结果。从数据库中查询数据,并以表格形式返回查询结果。语法语法查询loginCount表全部记录:SELECT * FROM loginCount查询loginCount表部分字段:SELECT 帐号 as qq,登录时
7、间 as qqtime FROM loginCount查询loginCount表中登录时间超过650的记录SELECT 帐号 as qq,登录时间 as qqtime FROM loginCountwhere 登录时间650查询loginCount表中qq号码为333的记录SELECT loginCount.帐号 AS qq, loginCount.登录时间 AS qqtimeFROM loginCountWHERE 帐号=333Sqlstr=“select Sqlstr=“select * * from t_user where u_name from t_user where u_name
8、=张三张三”“ “字符串字符串1 1” ” & &“ “字符串字符串2 2” ” & & “ “字符串字符串3 3” ” 不建不建议议用用+ +号连号连接字符串接字符串Username=“张三”Sqlstr=“select Sqlstr=“select * * from t_user where u_name= from t_user where u_name=” & username & username & &“”1.书写最熟悉的sql语句2.找断点,加双引号,&断开3.加入vb中表达式4.Msgobx debug.p
9、ringt等 输出 sqlstr 进行检查 把下面的语句题换成变量的写法: strsql=“Insert into mytable(username) values(张红)” 第一步:先把张红抹去,在原位置加两个引号 strsql=“Insert into mytable(username) values(”“)” 第二步:在中间添加两个连接符& strsql=“Insert into mytable(username) values(”& &“)” 第三步:把变量写在两个连接符之间 strsql=“Insert into mytable(username) value
10、s(”& thename &“)” 一个数据库中的多个数据表之间一般都存在某种内在联系,它们共同一个数据库中的多个数据表之间一般都存在某种内在联系,它们共同提供有用信息。提供有用信息。 若一个查询同时涉及两个及以上的表,称之为多表查询或链接查询。若一个查询同时涉及两个及以上的表,称之为多表查询或链接查询。 两张表间有一个相同的字段,才能进行有效的多表查询。两张表间有一个相同的字段,才能进行有效的多表查询。 查询时列名前加表名或表别名前查询时列名前加表名或表别名前辍(辍(asas),),如果字段在两个表中是唯如果字段在两个表中是唯一的可以不加。一的可以不加。 DELETE FRO
11、M 表名 WHERE 条件 功能功能DELETEDELETE语句的功能为删除表中指定的记录。语句的功能为删除表中指定的记录。语法语法 DELETE语句对满足WHERE子句中条件的所有记录执行删除操作。 省略WHERE子句,则删除表中全部记录,但表结构仍在,即DELETE语句删除的是表中的数据。应用应用删除部分记录【例】删除用户名为“lee”的所有记录。DELETE FROM TravelPlanWHERE UserName=lee;分析分析lee所在两条记录均被删除,记录数由4变为2。UPDATE 表名 SET 字段1 = 表达式 ,字段2=表达式2,字段N=表达式N WHERE 条件 功能功
12、能UPDATEUPDATE语句的功能是更新表中指定记录中指定字段的值。语句的功能是更新表中指定记录中指定字段的值。语法语法 UPDATE语句对指定表中满足WHERE子句中条件的记录进行修改,具体修改内容在SET子句中设定。 表达式的值必须与其对应字段的数据类型吻合。 UPDATE的操作是不可逆的,即做出的修改是无法撤消的。(一)ADO数据模型(二)Connection对象及应用(三)Command对象及应用(四)Recordset对象及应用 ADO (ActiveX Data Objects)数据库访问技术,采用OLE DB的数据访问模式。向应用程序提供一个统一的数据访问方法,不仅可以访问Ac
13、cess,SQL Server数据库,还可以访问 Excel,文本文件等基于OLE DB之上的对象模型,半酣可以被OLE DB标准接口描述的数据类型。(优点:应用程序移植)三个对象成员: Connection Command Recordset几个集合对象: Errors Parameters Fields Properties指定连接数据来源发出命令信息从数据源获取所需数据查询命令的返回的记录集访问数据源时所返回的错误信息与命令对象有关的参数记录集中某个字段的信息每个ADO对象都有一组惟一的属性,用来描述或控制对象(1)初始化COM库,引入ADO库定义文件;(2)用Connection对象连
14、接数据库;(3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理;(4)使用完毕后关闭连接释放对象。在Visual Basic程序中使用ADO对象,必须先为当前工程引用ADO的对象库。方法:执行“工程”菜单中 “引用”命令,弹出“引用”对话框,如图所示。单击“确定”选择该选项(不同环境下ADO的版本号可能不同) Connection用来创建到数据库建立连接。 1.常用属性 ConnectionString属性,指定用于建立连接数据源的信息。 【例】创建到数据库rizhi.accdb的链接。 Dim conn
15、As ADODB.Connection Set conn=new ADODB.Connection conn.ConnectionString = Provider=Microsoft.ACE.OLEDB.12.0; Data Source= + App.Path + rizhi.accdb“ 2行代码等同于Dim conn As new ADODB.Connection Access 2003:conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & rizhi.mdbAc
16、cess 2010: conn.ConnectionString = Provider=Microsoft.ACE.OLEDB.12.0; Data Source= + App.Path + rizhi.accdb”Mode属性,指定Connection对象修改数据的权限。其值如下:常 量 说 明adModeUnknown 默认值。表明权限尚未设置或无法确定adModeRead 只读权限adModeWrite 只写权限adModeReadWrite读写权限adModeShareDenyRead禁止其他用户使用读权限打开连接adModeShareDenyWrite 禁止其他用户使用写权限打开连接
17、adModeShareExclusive 禁止其他用户打开连接adModeShareDenyNone允许其他人以任何权限打开连接State属性,返回Connection对象的状态。其值如下:常 量 说 明adStateClosed对象已关闭adStateOpen对象已打开adStateConnecting对象正在连接adStateExecuting对象正在执行命令adStateFetching正在检索对象的行Open方法,打开到数据源的连接。语法如下: Connection对象.Open ConnectionString, UserID, PassWord, Options 以下参数均为可选项
18、 ConnectionString :包含连接信息的字符串。 UserID :包含建立连接时所使用的用户名称。 Password :字符串,包含建立连接时所用密码。 Options :设置为 adConnectAsync,则异步打开连接; 设置为ConnectComplete当连接可用时将调用该事件。Close 方法,关闭到数据源的连接。Execute方法,在连接上执行命令。Cancel方法,取消Open或 Execute方法的调用如果设置了Connection对象的ConnectionString等属性,Open方法就不需要设置参数了【例】使用Connection对象链接到数据库rizhi.
19、accdb。Private Sub Form_Load() Dim conn As New ADODB.Connection conn.ConnectionString = Provider=Microsoft.ACE.OLEDB.12.0; Data Source= + App.Path + rizhi.accdb conn.Open If conn.State = adStateOpen Then MsgBox 链接已打开 conn.Close If conn.State = adstatecolsed Then MsgBox 链接已关闭End Sub创建Connection对象conn
20、链接数据库路径打开到数据库的链接判断链接的状态关闭到数据库的链接判断链接的状态Recordset对象表示从数据库返回的一系列记录的集合。一个 Recordset 对象由记录和列(字段)组成。通过Recordset可以对记录及组成记录的列进行各种操作。1.Recordset对象的常用属性(1)ActiveConnection属性,设置或返回Recordset对象所属的Connection对象。(2)AbsolutePosition 属性,指定 Recordset 对象中当前记录的序号位置。(3)BOF属性,若当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。 EOF属性,
21、若当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。(4)RecordCount属性,返回Recordset对象中记录的当前数目。(5)CursorType属性,设置或返回一个 Recordset 对象的游标类型。常 量值说 明AdOpenForwardOnly0默认值,打开仅向前类型游标,只能用MoveNext读取,打开的同时建立的数据库的备份,不能即时体现数据库记录状态,比如记录的编辑和增删。AdOpenKeyset1打开键集类型游标,可上下滚动游标,给打开的记录创建了一个关键字列表,类似记录集的描述,访问的时候才去取得数据值,就是说可以即时看到修改信息,但是不能即时
22、得到数据是否删除的信息,因为这个关键字列表是事先初始化好的。程序中常用此类型。AdOpenDynamic2打开动态类型游标,完全可滚动游标,可得到数据的最新状态,但执行效率也会有所降低。AdOpenStatic3打开静态类型游标,完全可滚动游标,它先将数据库备份文件之后进行操作,可以断开数据库连接后继续使用。(6)LockType属性,指定打开Recordset对象使用的锁定类型,其值如下表所示。常 量值说 明AdLockReadOnly1默认值,只读锁AdLockPessimistic2悲观锁,操作者打开之后立即上锁,直到修改完成或者放弃修改为止,此时其他人无法编辑AdLockOptimis
23、tic3乐观锁,当记录将要被更新的时候才开始上锁,但是不能保证在提交修改之前是否有人改动过AdLockBatchOptimistic4批量乐观锁(7 7)SortSort属性,设置排序字段。属性,设置排序字段。(8 8)FilterFilter属性,设置属性,设置RecordsetRecordset对象中的筛选条件。对象中的筛选条件。(1)AddNew方法,创建和初始化新记录,其语法为:Recordset对象.AddNew FieldList, Values AddNew方法为记录集添加新记录后,需使用UpDate将所添加的数据存储到数据库中。(2)Delete方法,删除当前记录或记录组。(3
24、)Move方法,移动Recordset对象中当前记录的位置。(4)MoveFirst、MoveLast、MoveNext和MovePrevious方法,移动到指定Recordset对象中的第一条、最后一条、下一条或上一条记录,使该记录成为当前记录。(5)Requery方法,重新执行对象所基于的查询,更新Recordset对象中的数据。(6)Update方法,保存对Recordset对象当前记录所做修改。 CancelUpdate方法,可取消对当前记录修改。字段列表FieldList中字段对应的值Open方法,打开代表基本表、查询的结果或保存的 Recordset 中记录的游标。其语法如下:Re
25、cordset对象.Open Source, ActiveConnection, CursorType, LockType, Options 以下均为可选项 Source为记录源,可以是SQL语句、表名等; ActiveConnection指定相应的Connection对象; CursorType指定打开Recordset对象使用的指针类型。【例】 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strSQL As String conn.ConnectionString = Provider = Micro
26、soft.ACE.OLEDB.12.0;DATA Source= & App.Path & users1.accdb strSQL = SELECT * FROM users conn.Open Set rs.ActiveConnection = conn rs.LockType = adLockOptimistic rs.CursorType = AdOpenKeyset rs.Open strSQL rs.AddNew rs.Fields(1) = Text1 rs.Fields(2) = Text2 rs.Update conn.Close Set conn Nothin
27、gPrivate Sub Command2_Click()rs.MovePreviousCommand3.Enabled = TrueIf rs.AbsolutePosition = 1 Then Command1.Enabled = False Command2.Enabled = FalseEnd IfText1 = rs.Fields(0)Text6 = rs.Fields(5)End SubPrivate Sub Command3_Click()rs.MoveNextCommand1.Enabled = TrueCommand2.Enabled = TrueIf rs.EOF Then
28、 Command3.Enabled = False rs.MoveLast Exit SubEnd IfText1 = rs.Fields(0)Text6 = rs.Fields(5)End Sub前一条前一条后一条后一条ADO中command对象Command对象提交给数据源的命令,传递SQL命令Parameter对象用来向SQL语句传递参数Property对象指明一个ADO对象的属性 使用 Command 对象查询数据库并返回 Recordset 对象中的记录,以便执行大量操作或处理数据库结构 Command对象用于执行数据库操作命令,使用Command对象的ActiveConection
29、属性同样可以创建一个连接。例如Activeconection属性被设置为一个Connection对象的引用,那么Command对象就建立一个新的连接,并使用这个新连接。用Command对象执行一个查询子串,可以返回一个记录集,也可以返回多个记录集,甚至可以不返回记录集。Command对象:主要是向SQL语句、StoredProcude传递参数,依靠SQL的强大功能来完成数据库的操作;Command的性能更优越一些,特别是在大量记录添加情况下。RecordSet对象:封装了数据对象、并提供了一系列的方法和属性来简化数据库的编程。 复杂数据处理, memo备注字段, time()PKCommand
30、对象3个重要属性Connection属性设置Command所使用的Connection例:Set cmd.ActiveConnection = connCommandText属性设置对数据源执行SQL语句或存储过程。例:cmd.CommandText = delete from yonghu WHERE 帐号 = xxxxxx “AdCmdText时,表示包含命令文本,AdCmdTable时,表示包含一个表的名字,AdCmdStoredProc时,表示包含存储过程名。CommandType属性设置指定的CommandText类型例:cmd.CommandType = adCmdText查询字串是一个SQL语句: adCmdText;查询字串是一个存储过程,adCmdStoreProc;查询字串是一个表名,adCmdTable;Dim conn As New ADODB.ConnectionDim rs As New ADODB.Record
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度智能交通信号控制系统定制合同
- 2024年家电产品全国销售合同2篇
- 药企招投标策略与品牌建设
- 演出道具租赁合同解除
- 五金材料购销合同样本
- 2024年汽车销售特许代理合同3篇
- 赛车场混凝土施工合同
- 玩具物流货车司机招聘协议
- 无人驾驶承包商管理方案
- 文化产业用地租赁合同乡镇
- 疑难病历随访登记本(医技科)
- 心肺复苏与AED操作应急救护培训教程(演示版)
- 《月令》的由来与流变
- 侦查学总论学习通章节答案期末考试题库2023年
- (完整word版)七年级上册湖南地方文化常识教案
- 糖尿病肾脏病中西医结合防治专家共识(2023版)解读
- 汉字演变史-英文版教学课件
- 《医学影像设备学》习题库(含参考答案)
- 机械工程学(全套课件719P)
- 2023年药典通则1105非无菌产品微生物限度检查
- 施工质量目标、质量保证体系及措施
评论
0/150
提交评论