VB 对象打开时不允许操作:错误3705
答案:4 悬赏:80 手机版
解决时间 2021-03-22 09:53
- 提问者网友:鼻尖触碰
- 2021-03-22 05:28
VB 对象打开时不允许操作:错误3705
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-03-22 05:41
楼上的不懂不要误导人家,明明是操作SQL SERVER的一段代码。 楼主的错误在于 Command1_Click()事件中 还有 usermodify() 函数中 都调用了
Call sq
conn.Open
这里conn应该是一个全局或者模块级别的数据库连接对象,只需要open一次就可以了。其他使用这个conn对象的recordset直接就可以通过它来连接,操作数据库了。
你点击command1之后,
usermodify()里面就不用
Call sq
conn.Open
这两句了。
当然从整体结构来看你的代码这样写不是很合理,如果只是用来做个练习也就罢了。
Call sq
conn.Open
这里conn应该是一个全局或者模块级别的数据库连接对象,只需要open一次就可以了。其他使用这个conn对象的recordset直接就可以通过它来连接,操作数据库了。
你点击command1之后,
usermodify()里面就不用
Call sq
conn.Open
这两句了。
当然从整体结构来看你的代码这样写不是很合理,如果只是用来做个练习也就罢了。
全部回答
- 1楼网友:归鹤鸣
- 2021-03-22 08:45
目测是从txt文件中读取密码那啥的
你的txt文件是否放在了指定文件夹
用的什么系统呢?Windows7?WinVista?WindowsXP?
你的txt文件是否放在了指定文件夹
用的什么系统呢?Windows7?WinVista?WindowsXP?
- 2楼网友:长青诗
- 2021-03-22 08:24
Command1_Click()
usermodify()
均调用了下两个函数
Call sq
conn.Open
usermodify()
均调用了下两个函数
Call sq
conn.Open
- 3楼网友:woshuo
- 2021-03-22 07:20
Public rs As New ADODB.Recordset
Public conn As New ADODB.Connection
Public Function sq() As String
conn.ConnectionString = "Driver={sql server};server=" & Trim(Text1.Text) & ";uid=sa;pwd=;database=" & Trim(zt.Text) & ""
End Function
Private Sub Command1_Click()
Call sq
conn.Open
If rs.State = adStateOpen Then rs.Close
rs.Open "select 用户名,密码 from login where 用户名='" & Trim(Text2.Text) & "' And 密码='" & Trim(Text3.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("请重新登录", vbExclamation)
Text2.Text = ""
Text2.SetFocus
ElseIf ch1.Value = 1 Then
modify.Show
Unload Me
Else
Form1.Show
Unload Me
End If
rs.Close
Set rs = Nothing
conn.Close '增加关闭对象
Set conn = NotHing '增加关闭对象
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Public Function usermodify() As String
Call sq
conn.Open
If rs.State = adStateOpen Then rs.Close
Set rs = Nothing
If Trim(modify.newp.Text) = Trim(modify.rnewp.Text) Then
rs.Open "update login set 密码 = '" & Trim(modify.newp.Text) & "' where 用户名='" & Trim(modify.oldp.Text) & "'"
rs.Update
MsgBox "密码修改成功", vbExclamation
Else
MsgBox "两次输入密码不一至,请得新输入", , 重置密码
End If
rs.Close
Set rs = Nothing
conn.Close '增加关闭对象
Set conn = NotHing '增加关闭对象
End Function
Public conn As New ADODB.Connection
Public Function sq() As String
conn.ConnectionString = "Driver={sql server};server=" & Trim(Text1.Text) & ";uid=sa;pwd=;database=" & Trim(zt.Text) & ""
End Function
Private Sub Command1_Click()
Call sq
conn.Open
If rs.State = adStateOpen Then rs.Close
rs.Open "select 用户名,密码 from login where 用户名='" & Trim(Text2.Text) & "' And 密码='" & Trim(Text3.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("请重新登录", vbExclamation)
Text2.Text = ""
Text2.SetFocus
ElseIf ch1.Value = 1 Then
modify.Show
Unload Me
Else
Form1.Show
Unload Me
End If
rs.Close
Set rs = Nothing
conn.Close '增加关闭对象
Set conn = NotHing '增加关闭对象
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Public Function usermodify() As String
Call sq
conn.Open
If rs.State = adStateOpen Then rs.Close
Set rs = Nothing
If Trim(modify.newp.Text) = Trim(modify.rnewp.Text) Then
rs.Open "update login set 密码 = '" & Trim(modify.newp.Text) & "' where 用户名='" & Trim(modify.oldp.Text) & "'"
rs.Update
MsgBox "密码修改成功", vbExclamation
Else
MsgBox "两次输入密码不一至,请得新输入", , 重置密码
End If
rs.Close
Set rs = Nothing
conn.Close '增加关闭对象
Set conn = NotHing '增加关闭对象
End Function
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯