VB 连接数据库函数反馈的值为空,请帮忙看下
数据库:SQL 2000 已在本地启动SQL 服务
表: SSQ_yhxx
有一条记录如下:
id userid pwd
1001 gupeng gp
from1的 command 中代码如下
Private Sub Command1_Click()
Dim rs As ADODB.Recordset
Dim cn As ADODB.Connection
Dim csql As String
csql = "select pwd from SSQ_yhxx where userid='" & Text1.Text & "'"
Set rs = TranSQL(csql)
If Trim(rs.Fields(1)) = Trim(Text2.Text) <--此句有问题,rs.Fields(1)没有数据,运行到此就报错
报错内容:在对应所需名称或序集中,未找到项目。
类模块中
Public Function TranSQL(ByVal sql As String) As ADODB.Recordset
Dim rs As ADODB.Recordset
Dim conn As ADODB.Connection
Dim cnstring As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
cnstring = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Password=sa;Initial Catalog=SSQ;Data Source=."
conn.Open cnstring
rs.Open Trim(sql), conn, adOpenKeyset, adLockOptimistic
Set TranSQL = rs <-- 调试时,这里TranSQL=noting
End Function
请高手看看,代码是否有问题,还是其他原因。
整段代码就是From1 中点击command1时,调用TranSQL函数,再将值赋给From1中的rs,接着判断rs.Fields的值是否和界面输入文本框中的Text2相等
[解决办法]
If Trim(rs.Fields(0)) = Trim(Text2.Text)
或:
If Trim(rs!字段名) = Trim(Text2.Text)