注册 登录
编程论坛 VB6论坛

求助对数据库操作出错

ayu_大歌 发布于 2013-02-17 21:02, 565 次点击
只有本站会员才能查看附件,请 登录

首先谢谢老师们,并把工程传上盼有老师结合工程
8 回复
#2
ayu_大歌2013-02-17 21:05
回复 楼主 ayu_大歌
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

这是错误提示和错误的位置
#3
Artless2013-02-17 22:52
msgbox............后加
mrst.addnew

[ 本帖最后由 Artless 于 2013-2-17 22:56 编辑 ]
#4
ayu_大歌2013-02-18 20:51
回复 3楼 Artless
首先是谢谢版主,但是按您的指点,在MsgBox "登录成功,你可以进行仓库管理工作"之后加了mrst.addnew 还是不行
#5
lowxiong2013-02-18 21:01
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 编辑 ]
#6
lowxiong2013-02-18 21:28
Execute 方法一般用在批量insert、delete操作中,返回一个已关闭的记录集,如果是select,则返回一个只读的记录集,不能修改。
要对记录集内容进行添加、单个删改则需要使用rst.open的方法。参见http://blog.内容
#7
Artless2013-02-19 10:30
以下是引用ayu_大歌在2013-2-18 20:51:29的发言:

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

我看错了
#8
曾大虾2013-02-19 14:56
提供两种方法参考:
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
#9
Susake2013-02-19 15:03
路过看看
1