提示错误:
实时错误'3251':当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。错误指到 rs.updata 怎么错了请指教我做了个登录的界面 界面上有个修改密码。点击后进入第2个窗体
用户名:
原密码:
新密码:
确认新密码:
确定 返回
代码如下:
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.Update
rs.close
End Sub
实时错误'3251':当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。错误指到 rs.updata 怎么错了请指教我做了个登录的界面 界面上有个修改密码。点击后进入第2个窗体
用户名:
原密码:
新密码:
确认新密码:
确定 返回
代码如下:
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.Update
rs.close
End Sub
...
Text3.SetFocus
Exit Sub
Else
sql = "select * from [password] where [username] ='" & Text1.Text & "'"
rs.Open sql, conn, 3, 3 '改一下这里
If rs.EOF = True Then
MsgBox "没有这个用户", vbOKOnly + vbExclamation, ""
Text1.Text = ""
...
'更新记录:conn.execute "update 表名 set ... where ..."
'删除记录:conn.execute "delete from 表名 where ..."
另外,对数据库记录操作(新增、更新、删除),还是利用SQL语句好,就象3楼所说的