| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 792 人关注过本帖, 1 人收藏
标题:求助VB6.0连接Access代码的错误。
只看楼主 加入收藏
ayu_大歌
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2012-12-29
结帖率:90%
收藏(1)
已结贴  问题点数:20 回复次数:6 
求助VB6.0连接Access代码的错误。
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 ayu_大歌 于 2013-2-7 22:44 编辑 ]
2013-02-07 22:40
ayu_大歌
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2012-12-29
收藏
得分:0 
回复 楼主 ayu_大歌
Dim mConn As Connection
Dim mRst As Recordset 'Recordset 对象
Dim objRst As Recordset 'Recordset 对象
Private Sub Command_登陆_Click(Index As Integer)
   '*** 打开access数据库:
   Set mConn = CreateObject("ADODB.Connection")
   mConn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
         & "C:\Users\admin\Desktop\仓库管理系统\Landed.mdb" & ";;Jet OLEDB:Database password=123"
     mConn.Open '打开数据库
     Set mRst = CreateObject("ADODB.RecordSet")
     mSql = "SELECT * FROM admin"    '其中admin为access数据库中的表的名称,下同
     Set mRst = mConn.Execute(mSql)  '在这1句上卡了  
 
     Select Case mConn.State
     Case adStateClose
         statestring = "adStateClosed"
     Case adStateOpen
         statestring = "adStateOpen"
  End Select
  '显示连接的状态
  MsgBox "连接成功!", , statestring
 

[ 本帖最后由 ayu_大歌 于 2013-2-7 22:51 编辑 ]
2013-02-07 22:50
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:0 
试了,只有数据库中不存在"admin"表时才会卡在那一句并提示错误,否则很正常啊。
另外Set mConn = CreateObject("ADODB.Connection")也可以写成Set mConn = New ADODB.Connection,同样定义记录集也可以写成Set mRst = New ADODB.Recordset,这样你可以不需要记("ADODB.Connection")字符串,可以直接选择ide给你的提示了。
由于以前的office2000中的msaccess被360当作病毒杀了,我是临时下载office2010并创建的数据库,不知道两者之间的mdb数据库有什么区别没有(如office2000数据库中会不会有默认的admin表当做系统表,而2010的则没有?),再就是我在vb工程中引用的是microsoft activex objects 2.8 library(对应文件为msado15.dll)。

[ 本帖最后由 lowxiong 于 2013-2-8 17:04 编辑 ]
2013-02-08 16:41
ayu_大歌
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2012-12-29
收藏
得分:0 
回复 3楼 lowxiong
非常感谢lowxiong老师的指教
因为我的Landed.mdb文件是在办公室电脑(win XP 32位)上创建的,出错是在(win 7 64位) 笔记本上,重建了一个Landed.mdb连接成功了

另外求助老师再指教一下想对数据库操作的语句,先谢谢!
我的Landed.mdb的文件有个admin表,表有dlsj,tcsj,tlcs,yhmm (分别是:登陆时间,退出时间,登陆次数,用户密码4个字段
在admin表的第1行yhmm字段上录入了一个密码字符串 例如:abc123
求助:成功登陆后判断窗体有个“文本框的字符串(输入的密码)”是否与“第1行yhmm字段上有个密码字符串 ”相同(全匹配)
同:在在admin表的尾添加 1 条记录,dlsj (登陆时间)字段记录系统日期时间,tlcs(登陆次数)字段上生成 前1 条记录+1 ,然后关闭数据库断开连接
不同:提示密码错误。
  不好意思,才学



[ 本帖最后由 ayu_大歌 于 2013-2-8 22:52 编辑 ]
2013-02-08 22:46
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:20 
应该是先判断密码相同才登录吧?为什么不加个用户名字段,用户名具有唯一性;密码不要用明文,最好设计一个加密算法,这样别人就是拿到数据库也不能轻易登录的,判断用户名和密码的sql语句是:
msql="select * from admin where yhm='" & text1 & "' and yhmm='" & text2 & "'"
Set mRst = mConn.Execute(mSql)
if not mrst.eof and not mrst.bof then
  msgbox "登录成功,你可以进行仓库管理工作"
  mrst.fields("dlsj")=now  '刷新登陆时间
  mrst.fields("dlcs")=mrst.fields("dlcs")+1  '刷新登录次数
  mrst.updata
else
  msgbox "用户名或密码错误,请重新登录"
endif
mrst.close

[ 本帖最后由 lowxiong 于 2013-2-9 09:21 编辑 ]
2013-02-09 09:08
ayu_大歌
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2012-12-29
收藏
得分:0 
回复 5楼 lowxiong
图片附件: 游客没有浏览图片的权限,请 登录注册
首先祝老师 新年万事如意,心想事成!
节后老师有时间的话得请教老师现先把根据老师的代码运行时碰到的问题贴上

mRst.updata    '在这句上卡住了,提示“未找到方法或数据成员”,不知这句代码是什么?
我采取先注掉这句再运行结果:mRst.Fields("dlsj") = Now '刷新登陆时间   卡住 ,错误提示提示如图



[ 本帖最后由 ayu_大歌 于 2013-2-10 01:12 编辑 ]
2013-02-10 01:06
ayu_大歌
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2012-12-29
收藏
得分:0 
仓库管理系统.zip (10.54 KB)
结贴时间已到,先结了
附件是我的工程

另外:
“应该是先判断密码相同才登录吧?为什么不加个用户名字段,用户名具有唯一性”
我的思路是,用户管理单独一个.mdb文件,一个用户一张表,把表名作为用户名,登录这个文件成功后再打开另一个窗体及连接主数据库。

 “密码不要用明文,最好设计一个加密算法”这个问题一点基础没有,也不好意有那么问题求助,能得指教当然太高兴了


[ 本帖最后由 ayu_大歌 于 2013-2-10 01:35 编辑 ]
2013-02-10 01:13
快速回复:求助VB6.0连接Access代码的错误。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017063 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved