我做了个登录的界面 界面上有个修改密码。点击后进入第2个窗体 
用户名: 
原密码: 
新密码: 
确认新密码: 
确定    返回 
数据库名 datamaster.mdb 表名 password 字段名 username  passwd
代码如下: 
Private Sub Command1_Click() 
Dim conn As New ADODB.Connection 
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\datamaster.mdb" 
Dim sql As String 
Dim rs As New ADODB.Recordset 
If Trim(Text2.Text = "") Then 
        MsgBox "旧密码不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告" 
        Text2.Text = "" 
        Text2.SetFocus 
        Exit Sub 
    End If 
    If Trim(Text3.Text = "") Then 
        MsgBox "新密码不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告" 
        Text3.Text = "" 
        Text3.SetFocus 
        Exit Sub 
    End If 
    If Text3.Text <> Text4.Text Then 
        MsgBox "两次输入的新密码不同,请重新输入!", vbOKOnly + vbExclamation, "警告" 
        Text3.Text = "" 
        Text4.Text = "" 
        Text3.SetFocus 
        Exit Sub 
    Else 
        sql = "select * from [password] where [username] ='" & Text1.Text & "'" 
        rs.Open sql, conn, adOpenStatic, adLockReadOnly    '打开返回的可用记录集 
        If rs.EOF = True Then 
          MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" 
          Text1.Text = "" 
          Text2.Text = "" 
          Text3.Text = "" 
          Text4.Text = "" 
          Text1.SetFocus 
        Else 
          If Trim(rs.Fields(1)) <> Trim(Text2.Text) Then 
              MsgBox "原密码不对,请重新输入!", vbOKOnly + vbExclamation, "警告" 
              Text2.Text = "" 
              Text3.Text = "" 
              Text4.Text = "" 
              Text2.SetFocus 
          Else 
              MsgBox "密码修改成功!", vbOKOnly + vbInformation, "提示" 
              Text1.Text = "" 
              Text2.Text = "" 
              Text3.Text = "" 
              Text4.Text = "" 
              Text1.SetFocus 
            End If 
        End If 
    End If 
    rs.Updata
    rs.close 
    
End Sub请问还需要在rs.updata之前加什么代码

解决方案 »

  1.   

    数据库名 datamaster.mdb 表名 password 字段名 username  passwd 
    代码如下: 
    Private Sub Command1_Click() 
    Dim conn As New ADODB.Connection 
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\datamaster.mdb" 
    Dim sql As String 
    Dim rs As New ADODB.Recordset 
    If Trim(Text2.Text = "") Then 
            MsgBox "旧密码不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告" 
            Text2.Text = "" 
            Text2.SetFocus 
            Exit Sub 
        else
        If Trim(Text3.Text = "") Then 
            MsgBox "新密码不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告" 
            Text3.Text = "" 
            Text3.SetFocus 
            Exit Sub 
        else
        If Text3.Text <> Text4.Text Then 
            MsgBox "两次输入的新密码不同,请重新输入!", vbOKOnly + vbExclamation, "警告" 
            Text3.Text = "" 
            Text4.Text = "" 
            Text3.SetFocus 
            Exit Sub 
        Else 
            sql = "select * from [password] where [username] ='" & Text1.Text & "'" 
            rs.Open sql, conn, adOpenStatic, adLockReadOnly    '打开返回的可用记录集 
            If rs.EOF = True Then 
              MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" 
              Text1.Text = "" 
              Text2.Text = "" 
              Text3.Text = "" 
              Text4.Text = "" 
              Text1.SetFocus 
            Else 
              If Trim(rs.Fields(1)) <> Trim(Text2.Text) Then 
                  MsgBox "原密码不对,请重新输入!", vbOKOnly + vbExclamation, "警告" 
                  Text2.Text = "" 
                  Text3.Text = "" 
                  Text4.Text = "" 
                  Text2.SetFocus 
              Else 
                  rs.Updata 
                  MsgBox "密码修改成功!", vbOKOnly + vbInformation, "提示" 
                  Text1.Text = "" 
                  Text2.Text = "" 
                  Text3.Text = "" 
                  Text4.Text = "" 
                  Text1.SetFocus 
                End If 
            End If 
        End If 
        end if
    end if
        rs.close 
        
    End Sub 
    你前面的嵌套错了
      

  2.   

    这样还是不能更新。要更新不是还要添加rs.addnew或者rs.edit后面加上
    rs.fields(1)=text4.text 之类的代码才能更新吗?
    也就是在rs.updata之前rs.addnew之后加的代码,或者是用sql代码。
    请注释每一句代码的意思。谢谢,万分感谢