Emao_521125 发表于 2013-1-22 17:08:31

[求助] rs.open 执行完成后,不再执行后面的代码就退出了

Dim Cnn,strSql   
set Cnn = CreateObject("ADODB.Connection")   
Cnn.ConnectionString="Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=ibc_c;Password=ecipower;Data Source=orcl"   
Cnn.open

If Cnn.state=0 Then   
    Reporter.ReportEvent micFail,"testing","数据库连接失败"
else
   Reporter.ReportEvent micPass,"testing","数据库连接成功"
End If
if Cnn.State<> 0then
       Set Rs=CreateObject("ADODB.Recordset")   
        strsql ="select * from blc_gp_head where    GATEPASS_NO='ZN2010120000000208' "
        'set rs=Cnn.execute(sql)
      Rs.Open strsql ,Cnn,1,1
        msgbox(RS.Recordcount)
      ydl=Rs("GATEPASS_NO")   
      msgboxydl
      dim a
      a="ZN2010120000000208"
   fori=1toRs.Recordcount   
      ifRs("GATEPASS_NO")=a   then   
         msgbox "a在数据库中存在"   
         exit for                              
      else
         Rs.MoveNext                  
      endif
   next
end if
RS.close      
Set RS=nothing      
Cnn.Close   
Set Cnn=nothing


rs.open 执行完成后,不再执行后面的代码就退出了,查不出任何原因,求解决!

zhangkun90 发表于 2013-1-22 18:01:20

首先哈 ,我感觉 你这个 Cnn.State<> 0应该写在上面那个Cnn.State=0 的 else中的Reporter.ReportEvent 下面啊

zhangkun90 发表于 2013-1-22 18:04:24

'set rs=Cnn.execute(sql)
      Rs.Open strsql ,Cnn,1,1
你这个setrs。。。 是特意注释掉的?

Emao_521125 发表于 2013-1-23 08:42:41

回复 3# zhangkun90

是特意注释掉的

Emao_521125 发表于 2013-1-23 08:46:58

1、'set rs=Cnn.execute(sql)是特意注释掉的,在程序中没有什么作用。
2、Cnn.State<> 0应该写在上面那个Cnn.State=0 的 else中的Reporter.ReportEvent 下面,运行到Rs.Open strsql ,Cnn,1,1时,还是会退出
页: [1]
查看完整版本: [求助] rs.open 执行完成后,不再执行后面的代码就退出了