vb 运行时出现3704错误 对象关闭时不允许操作 30
OptionExplicitPublicOKAsBoolean'记录确定次数DimmiCountAsIntegerPrivateSubcmdCancel_Click()O...
Option Explicit
Public OK As Boolean
'记录确定次数
Dim miCount As Integer
Private Sub cmdCancel_Click()
OK = False
Me.Hide
End Sub
Private Sub cmdOK_Click()
Dim txtSQL As String
Dim mrc As New ADODB.Recordset
Dim MsgText As String
Set mrc = New ADODB.Recordset
'ToDo: create test for correct password
'check for correct password
UserName = ""
If Trim(txtUserName.Text = "") Then
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
txtSQL = "select * from 管理员 where username = '" & txtUserName.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
' MsgBox MsgText
If mrc.EOF = True Then 就是 这里出问题
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then
OK = True
mrc.Close
Me.Hide
UserName = Trim(txtUserName.Text)
Else
MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
txtPassword.Text = ""
End If
End If
End If
miCount = miCount + 1
If miCount = 3 Then
Me.Hide
End If
Exit Sub
End Sub
If mrc.EOF = True Then 这句变黄 展开
Public OK As Boolean
'记录确定次数
Dim miCount As Integer
Private Sub cmdCancel_Click()
OK = False
Me.Hide
End Sub
Private Sub cmdOK_Click()
Dim txtSQL As String
Dim mrc As New ADODB.Recordset
Dim MsgText As String
Set mrc = New ADODB.Recordset
'ToDo: create test for correct password
'check for correct password
UserName = ""
If Trim(txtUserName.Text = "") Then
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
txtSQL = "select * from 管理员 where username = '" & txtUserName.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
' MsgBox MsgText
If mrc.EOF = True Then 就是 这里出问题
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then
OK = True
mrc.Close
Me.Hide
UserName = Trim(txtUserName.Text)
Else
MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
txtPassword.Text = ""
End If
End If
End If
miCount = miCount + 1
If miCount = 3 Then
Me.Hide
End If
Exit Sub
End Sub
If mrc.EOF = True Then 这句变黄 展开
3个回答
展开全部
你好,我说几句,希望帮到你。
在 If mrc.EOF = True Then 这句变黄,说明 ExecuteSQL 的子函数已经存在。
能够通过 ExecuteSQL 这个函数,可以说数据库也连接了。
If mrc.EOF = True Then ‘ 就是 这里出问题
主要是数据查询时未能得到记录集 mrc,没有记录集何来 EOF。
建议
把 If mrc.EOF = True Then
改为 If mrc= Nothing Then
在 If mrc.EOF = True Then 这句变黄,说明 ExecuteSQL 的子函数已经存在。
能够通过 ExecuteSQL 这个函数,可以说数据库也连接了。
If mrc.EOF = True Then ‘ 就是 这里出问题
主要是数据查询时未能得到记录集 mrc,没有记录集何来 EOF。
建议
把 If mrc.EOF = True Then
改为 If mrc= Nothing Then
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
展开全部
我还是把这儿给你吧
Function OpenTable(ByVal txtPath As String) '【功能:建立数据库连接;状态:完成】
Set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtPath & ";"
Set res = New ADODB.Recordset
End Function
Function CloseTable() '【功能:关闭数据库连接;状态:完成】
conn.Close
End Function
你连连接都没有建立,当然会有问题,qq656972278
Function OpenTable(ByVal txtPath As String) '【功能:建立数据库连接;状态:完成】
Set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtPath & ";"
Set res = New ADODB.Recordset
End Function
Function CloseTable() '【功能:关闭数据库连接;状态:完成】
conn.Close
End Function
你连连接都没有建立,当然会有问题,qq656972278
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
If mrc.EOF = True Then
改为
If mrc.RecordCount = 0 Then 试试
改为
If mrc.RecordCount = 0 Then 试试
更多追问追答
追问
我这样改了,但运行后出现 "编译错误,未找到方法或数据成员"
追答
RecordCount 属性 (ADO)
指示 Recordset 对象中记录的当前数目。
返回值
返回长整型值。
说明
使用 RecordCount 属性可确定 Recordset 对象中记录的数目。ADO 无法确定记录数时该属性返回 –1。读已关闭的 Recordset 上的 RecordCount 属性将产生错误。
如果 Recordset 对象支持近似定位或书签(即 Supports (adApproxPosition) 或 Supports (adBookmark) 各自返回 True),不管是否完全填充该值,该值将为 Recordset 中记录的精确数目。如果 Recordset 对象不支持近似定位,该属性可能由于必须对所有记录进行检索和计数以返回精确 RecordCount 值而严重消耗资源。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询