注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

肖雅峰 廊坊师范学院信息技术提高班十四期

 
 
 

日志

 
 

红皮书五个例子总结  

2017-05-08 19:16:44|  分类: VB与数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 红皮书,历时15天终于完成,期间真的是百感交集,一下是我对五个实例的一些感受。

实例1: “系统登录”对话框

都说万事开头难,这句话从敲红皮书开始似乎得到了印证。

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

错误一 为正确定义对象

Dim objCn As New ADODB.Connection '==================错误1 ADODB

自己虽然引入了ActiveX数据库组件但是没有对这个组件进行正确的定义,只是单纯的打了一个Connection没有正确定义objCn的类型。

ADODB.Recordset和ADODB.Connection确切的说都是WINDOWS下的集成组建,Server.createobject是将目标组建实力化并将他实例对象赋值在变量中来操作,实例ADODB.Recordset就是将结果集组件实例化,从而是对应变量能够在查询数据库结果时能够得到相对应的结果集,ADODB.Connection的实例则是创建连接数据库的对象,从而实现连接数据库和关闭数据库连接等操作,所以说如果少了ADODB就无法进行数据库的连接,就会出现变量未定义的问题。


 错误二Access支持问题

objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\实例1.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False"
'=================错误二 3.51→4.0

这是由于我们连接的Access的版本的问题,VB中支持连接Access2000,而Microsoft.Jet.OLEDB.3.51只能用于访问Access97及其以前的版本。Access2000及其以后的版本必须使用Microsoft.Jet.OLEDB.4.0

我们安装VB时,MDAC 2.0会安装Jet OLE DB provider 3.51版本。MDAC 2.1会安装Jet OLE DB provider 4.0版本,但如果机器上已经安装了3.51版本,MDAC 2.1不会删除也不会覆盖旧的3.51版本,这就使节3.51和4.0同时存在与你的开发机上。当连接Access数据库时,Jet OLE DB provider需要检查provider的版本号。而你在制作安装包时仅包含了MDAC 2.1,目标机上自然不可能有Jet OLE DB provider 3.51版本被安装,这就是错误发生的原因。此时你需要修改你的程序,使其使用4.0的Jet OLE DB provider。

错误三:设置访问权限

objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\实例1.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False"
'=================错误三

Mode 属性指定 Connection 对象修改数据的权限

READWRITE: 表明权限为读/写。

Share Deny None: 允许其他人以任何权限打开连接。不拒绝其他人的读或写访问。

Persist Security Info=False:Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",True表示保存,False表示不保存

错误四:代码问题

strSQL = "SELECT 口令 FROM 系统用户 WHERE 用户名= '" & txtUserName & " '"
'===============================错误四 单引号

当时自己看到了单引号,但是不知道为什么脑袋抽了,自己居然一直认为是中文的红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

实例2:使用ADO访问数据源

在创建OBBC数据源的过程中出了问题,创建新数据源是没有Access数据源驱动器

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

解决方案:通过C:/Windows/SysWOW64/odbcad32.exe启动32位版本ODBC管理工具,便可解决,效果如下图:

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

实例3  使用数据绑定访问数据

唯一的问题就在这里:我自己加了个密码,然后就总是无法测试成功

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

 

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

其实只要不输入密码就可以测试成功连接了。

实例4  分页显示记录

其实也是报错,但是就是自己的粗心将单词打错了导致程序无法运行。

实例5  数据查询

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

错误一:变量未定义

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

 解决方法:将开头的Option Explicit删去即可

错误二:

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

错误原因:

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

 

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

 


 在进行数据进行查询的时候最重要的是关键字匹配,VB与数据库的调用的原理是通过代码调用Access中的数据,所以其中的关键字信息一定要正确,由于我的数据库中只有用户名和密码两个关键字,所以说应该去掉身份这个关键字。可能就是身份这个关键字没有被指定值。

解决方法,将所有有关身份的信息统统删去,包括一些连接字符。

五个例子结束,从中有了许多的感触:

1.一定要细心,可能以前敲百例的时候例子的代码行数都过于简单,以至于自己不是那么认真,但是在敲红皮书的时候敲错了一 个单词自己光是找单词错误就用了半天的时间

 2.有问题一定要及时百度,在敲红皮书的时候会遇到各种各样的问题,会遇到各种各样的奇葩问题,会遇到各种各样的奇怪的错误,也许你是第一次看到这个问题的,但是对于别人来说可能已经解决出了这个问题并且进行了分享,既然互联网这个红利摆 在这里为什么我们不去好好享受这个红利呢?其实有的时候百度不到就只能上谷歌了,但是当你上谷歌的时候你会发现搜索出 来的问题的答案都是纯英的,这是就会暗暗后悔当时为什么没有好好学习英语红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期。在此附上两张图片,也给你们一点小小的 刺激红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

 

所以说我们一定要好好学习英语红皮书五个例子总结 - 14期  肖雅峰 - 肖雅峰 廊坊师范学院信息技术提高班十四期

3.书只是一个参考,我们一定要结合实际情况,书只是给了我们一个方向,具体的小点还需要我们不断去改进。

4.一定不能不能抱着抵触心理去学习,出错是再正常不过的,如果什么什么错误都没有我们又在这里学习什么呢?先去接受然后去尝试。

总结:一个红皮书让我获得了很大的成长,自己真正的去学着去网上找答案,提高自己的检索能力,同时也让自己以后再写代码是会更加细心。

  评论这张
 
阅读(42)| 评论(21)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017