标题:求助对数据库操作出错
只看楼主
ayu_大歌
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2012-12-29
结帖率:90%
已结贴  问题点数:20 回复次数:8 
求助对数据库操作出错
仓库管理系统.zip (10.54 KB)

首先谢谢老师们,并把工程传上盼有老师结合工程
搜索更多相关主题的帖子: 工程 老师 数据库操作 
2013-02-17 21:02
ayu_大歌
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2012-12-29
得分:0 
回复 楼主 ayu_大歌

这是错误提示和错误的位置
2013-02-17 21:05
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:1 
msgbox............后加
mrst.addnew

[ 本帖最后由 Artless 于 2013-2-17 22:56 编辑 ]

无知
2013-02-17 22:52
ayu_大歌
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2012-12-29
得分:0 
回复 3楼 Artless
首先是谢谢版主,但是按您的指点,在MsgBox "登录成功,你可以进行仓库管理工作"之后加了mrst.addnew 还是不行
2013-02-18 20:51
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:12 
Private Sub Command_登陆_Click(Index As Integer)
   '*** 打开access数据库:
   Dim a As String
   a = App.Path & "\landed.mdb"
   Set mConn = CreateObject("ADODB.Connection")
   mConn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & a & ";;Jet OLEDB:Database password=123"
   mConn.Open '打开数据库
   Set mRst = New ADODB.Recordset
   mSql = "SELECT * FROM admin where yhmm='" & Text1 & "'"    '其中admin为access数据库中的表的名称,下同
   mRst.Open mSql, mConn, adOpenKeyset, adLockOptimistic
   If Not mRst.EOF And Not mRst.BOF Then
      'MsgBox "登录成功,你可以进行仓库管理工作"
      mRst.Fields("dlsj") = Now '刷新登陆时间
      mRst.Fields("tlcs") = mRst.Fields("tlcs") + 1 '刷新登录次数
      mRst.Update
      MsgBox "登录成功,密码" & mRst.Fields("yhmm") & "已登录" & mRst.Fields("tlcs") & "次,本次登录时间为" & mRst.Fields("dlsj")
   Else
      MsgBox "用户名或密码错误,请重新登录"
   End If
   mRst.Close
   mConn.Close
End Sub

'在文本框输入abc123(这是你建立的一个密码),运行效果见下图


[ 本帖最后由 lowxiong 于 2013-2-18 22:21 编辑 ]
2013-02-18 21:01
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:2 
Execute 方法一般用在批量insert、delete操作中,返回一个已关闭的记录集,如果是select,则返回一个只读的记录集,不能修改。
要对记录集内容进行添加、单个删改则需要使用rst.open的方法。参见http://blog.内容
2013-02-18 21:28
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:0 
以下是引用ayu_大歌在2013-2-18 20:51:29的发言:

首先是谢谢版主,但是按您的指点,在MsgBox "登录成功,你可以进行仓库管理工作"之后加了mrst.addnew 还是不行

我看错了

无知
2013-02-19 10:30
曾大虾
Rank: 2
等 级:论坛游民
威 望:2
帖 子:17
专家分:62
注 册:2007-8-17
得分:5 
提供两种方法参考:
Dim mConn As New ADODB.Connection
Dim mRst As New ADODB.Recordset 'Recordset 对象
Dim mSql As String
Private Sub Command_登陆_Click(Index As Integer)
    '查询yhmm=Text1的记录
   mSql = "select * from admin where yhmm='" & Text1 & "'"
   mRst.Open mSql, mConn, adOpenKeyset, adLockOptimistic
   
If mRst.RecordCount > 0 Then
    '方法1:更新写入数据库
    mSql = "UPDATE admin set dlsj='" & Now & "',tlcs=tlcs+1 where yhmm='" & Text1 & "'"
    mConn.Execute (mSql)
    '方法2:更新写入数据库
'    mRst.Fields("dlsj") = Now '刷新登陆时间
'    mRst.Fields("tlcs") = mRst.Fields("tlcs") + 1 '刷新登录次数
'    mRst.Update
    MsgBox "登录成功,密码" & mRst.Fields("yhmm") & "已登录" & mRst.Fields("tlcs") & "次,本次登录时间为" & mRst.Fields("dlsj")
Else
      MsgBox "用户名或密码错误,请重新登录"
End If
   mRst.Close
End Sub

Private Sub Command_取消_Click(Index As Integer)
Form2.Show
End Sub

Private Sub Form_Load()
'打开数据库
   'Set mConn = CreateObject("ADODB.Connection")
   mConn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Landed.mdb"
   mConn.Open
'打开数据记录
   mSql = "SELECT * FROM admin"
   mRst.Open mSql, mConn, adOpenKeyset
 '将记录加入Combo1(0)
 Do While Not mRst.EOF And Not mRst.BOF
    If IsNull(mRst.Fields("yhmm")) Then Exit Do
    Combo1(0).AddItem mRst.Fields("yhmm")
    mRst.MoveNext
 Loop
 mRst.Close
End Sub
2013-02-19 14:56
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
得分:0 
路过看看

仰望星空...........不忘初心!
2013-02-19 15:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-398695-1-1.html




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

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