“实时错误:'91' 对象变量或with块变量未设置” 请问这是怎么回事?应该怎么办??
Private Sub CmdLogin_Click()If Adodc1.Recordset.RecordCount <> 0 Then
Adodc1.Recordset.MoveFirst
While Adodc1.Recordset.EOF = False
If Adodc1.Recordset.Fields("姓名") = txtusername.Text Then
If Adodc1.Recordset.Fields("密码") = txtuserpassword.Text Then
Unload Me
Exit Sub
MsgBox "登录成功"
Else
MsgBox "你输入的口令不正确,请重新输入"
End If
Else
Adodc1.Recordset.MoveNext
End If
Wend
If Adodc1.Recordset.EOF = True Then
MsgBox "请输入正确的用户名和口令"
End If
Else
MsgBox "没有任何用户可以登录"
End If
End Sub
我已经建立了access数据库,而且也设置好了connectionstring,recordsource,怎么总是出现“对象变量或with块变量未设置呢,”烦死了, --------------------编程问答-------------------- 出错的时候,断点在哪条语句上啊
如果在
If Adodc1.Recordset.RecordCount <> 0 Then
这条语句上的话,就要检查数据库能否正常连接了。
或者数据库已经连接上,是不是在什么地方又断开了
可以试试直接用ADO访问数据库,不要通过ADO控件 --------------------编程问答-------------------- 没错,就是在第一个语句上,
如果简单的在text控件上显示数据库每个字段的内容就没错,怎么用到这个上面就不行呢?恼火
怎么直接用ADO访问我的数据库呢,请教大侠!!! --------------------编程问答-------------------- LZ:将绑定连接改为代码连接.
具体做法:
新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。
然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接字符串,选生成,在提供者选项中选MICROSOFT jet 4.0 OLE DB Provider,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。
SQL查询语言主要结构为:
Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句]
查询字段必须分别用(西文)逗号分开或就用一个*号代替,上述查询中排序语句建议最好应用。
SQL查询语言如有错程序运行时告诉你出错,作相应改动即可。本人一般先按上述连接,SQL用"SELECT * FROM TabelName"作调试,无问题,用一个按钮控件将前述需复制的连接字符串和SQL查询语言先复制于按钮控件的CLICK事件中备着,以便放着以后使用。然后删去ADODC1控件,再添加ADODC1控件再添其他内容。 --------------------编程问答-------------------- 你改成我下面的这种就可以了,这个很简单,没必要写的你呢么复杂,你还用了循环语句
--------------------编程问答-------------------- ls这样更加不对了,你怎么知道第一个就是现在的用户,
Private Sub CmdLogin_Click()
If Adodc1.Recordset.RecordCount <> 0 Then
If Adodc1.Recordset.Fields("姓名") = txtusername.Text and Adodc1.Recordset.Fields("密码") = txtuserpassword.Text Then
Unload Me
MsgBox "登录成功"
Else
MsgBox "你输入的口令不正确,请重新输入"
End If
End Sub
所以最好的办法是直接查询有没有这个用户比较好,用循环就是效率比较低,还是听3楼的换个方式连接吧 --------------------编程问答-------------------- Dim cn As New ADODB.Connection, rs As New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Program Files\VB98\gongcheng\db8.mdb;Persist Security Info=False"
cn.Open
rs.CursorLocation = adUseClient
rs.Open STRSQL'就是查找该用户的语句
如果有就登陆
ADODB.Connection这个动的要引用一下
MICROSOFE ACTIVEX DATA OBJECTS 2.* LIBRARY
补充:VB , 基础类