设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1829|回复: 6
打印 上一主题 下一主题

[ADO/DAO] (已解决)为什么以下语句老报错?

[复制链接]
跳转到指定楼层
1#
发表于 2008-2-4 10:50:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
那个RX.OPEN语句老报错,即使不用where子句也报错了,是么回事?

Dim cn As ADODB.Connection
Dim rx As New ADODB.Recordset
'user_online = 1
Set cn = GetNewConnection
'On Error GoTo Err_Command6_Click
    If IsNull(Text2) Or IsNull(Text4) Then
       MsgBox "没有输入用户名或密码,请重新输入", vbInformation, "系统提示"
       Exit Sub
    End If
   
    rx.Open "select * from user_tbl where [user_id]='Me.Text2.Value' and [user_password]='Me.Text4.Value'"

'连接函数
Public Function GetNewConnection() As ADODB.Connection
    Dim oCn As New ADODB.Connection
    Dim sCnStr As String
   
    sCnStr = "Provider='sqloledb';Data Source='wangqiang';" & _
        "Initial Catalog='accesstata';Integrated Security='SSPI';user_id='sa';password='120979120979'"
   
    oCn.Open sCnStr
   
    If oCn.State = adStateOpen Then
        Set GetNewConnection = oCn
    End If
End Function

[ 本帖最后由 dreamice01 于 2008-2-21 16:11 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2008-2-4 11:11:36 | 只看该作者
原帖由 cuxun 于 2008-2-4 11:02 发表
这是肯定的:)
rx.Open "select * from user_tbl where =" & Me.Text2.Value & " and ='" & Me.Text4.Value & "'"



不是呀,按你的改了后,还是没用,仍提示:连接无法用于执行此操作,在此上下文中他可以已被关闭或无效

这是怎么回事?
3#
 楼主| 发表于 2008-2-4 11:21:53 | 只看该作者

回复 4# 的帖子

怎么改,因为我的后台数据库是SQL 2000,就是不知道怎么用这个数据的连接,麻烦你多多指教。

看了书上的很多资料改来改去都没有效果
4#
 楼主| 发表于 2008-2-4 11:27:44 | 只看该作者

回复 6# 的帖子

公司内网上不了,只能上MSN
5#
 楼主| 发表于 2008-2-4 11:28:10 | 只看该作者
6#
 楼主| 发表于 2008-2-4 11:37:52 | 只看该作者

回复 9# 的帖子

像这种问题,有其它解决办法吗?
7#
 楼主| 发表于 2008-2-4 14:05:06 | 只看该作者

回复 9# 的帖子

'连接数据库的函数
Public Function GetNewConnection() As ADODB.Connection
    Dim oCn As New ADODB.Connection
    Dim sCnStr As String   
    sCnStr = "Provider='sqloledb';Data Source='wangqiang';" & _
        "Initial Catalog='accesstata';Integrated Security='SSPI';user_id='sa';password='120979120979'"   
    oCn.Open sCnStr   
    If oCn.State = adStateOpen Then
        Set GetNewConnection = oCn
    End If
End Function

'登录按钮代码

Private Sub Command6_Click()
Dim cn As ADODB.Connection
Dim rx As ADODB.Recordset
user_online = 1
Set cn = GetNewConnection
    If IsNull(Text2) Or IsNull(Text4) Then
       MsgBox "没有输入用户名或密码,请重新输入", vbInformation, "系统提示"
       Exit Sub
    End If   
    rx.Open "select * from user_tbl where [user_name]='" & Text2 & " ' and [user_password]=' " & Text4 & "'", cn, adOpenKeyset, adLockBatchOptimistic   
    If rx.EOF Then
       MsgBox "你输入的用户名或密码错误,请重新输入!" & Chr(10) & Chr(13) & "如果您还没有注册,请点击注册按钮!", vbCritical, "系统提示"
       Me.Text2.Value = ""
       Me.Text4.Value = ""
       Me.Text2.SetFocus
       Exit Sub
    Else
      user_name = Me.Text2.Value
      user_id = rx(user_id)
      user_level = rx(user_level)
      user_online = 2
      DoCmd.Close
      DoCmd.OpenForm "网络留言簿系统", acNormal
    End If
  rx.Close
  Set rx = Nothing
End Sub
我的后台数据库是SQL SEVER 2000
上午试了一上午,在接近中午的时候没有问题,但一冲动就忘记保存代码了,下午一写,又提示出错了,这次的提示是:对象变量或WITH块变量未设置
晕倒了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 09:37 , Processed in 0.112607 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表