首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB 连接数据库函数反馈的值为空,请帮忙看上

2013-01-07 
VB 连接数据库函数反馈的值为空,请帮忙看下数据库:SQL 2000已在本地启动SQL 服务表:SSQ_yhxx有一条记录如

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)

热点排行