找回密码
 加入
搜索
查看: 1542|回复: 3

[AU3基础] oracle数据查询,表如果没数据会报异常。

[复制链接]
发表于 2018-11-15 09:11:05 | 显示全部楼层 |阅读模式
local $connection="Driver={Microsoft ODBC for Oracle};Server="&$ipm_server&";Uid="&$ipm_uid&";Pwd="&$ipm_pwd&";"
   local $adoCon = ObjCreate("ADODB.Connection" )
   $adoCon.open($connection)
   local $adoRS=ObjCreate("ADODB.RecordSet")
   If Not @error Then
          Local $sql = "select vc_stock_code,vc_stock_name,c_inquiry,c_shortlisted,c_purchase,c_win from t_ipm_ipomonitor where vc_stock_code='"&$stockCode&"'"
          WriteLog($sql)
          $adoRS.Open($sql,$adoCon)
          Local $vc_stock_code=$adoRS.Fields("vc_stock_code").value
          Local $vc_stock_name=$adoRS.fields("vc_stock_name").value
          Local $c_inquiry=$adoRS.fields("c_inquiry").value
          Local $c_shortlisted=$adoRS.fields("c_shortlisted").value
          Local $c_purchase=$adoRS.fields("c_purchase").value
          Local $c_win=$adoRS.fields("c_win").value
          $adoRS.close
   Else
          MsgBox(0, "", "无法创建ADODB.RecordSet对象. 错误代码: " & Hex(@error, 8))
   EndIf
   $adoCon.close


异常:

"E:\Users\s-lib\Desktop\????\DataAccessLayer.au3" (122) : ==> The requested action with this object has failed.:
Local $vc_stock_code=$adoRS.Fields("vc_stock_code").value
Local $vc_stock_code=$adoRS.Fields("vc_stock_code")^ ERROR


原因:t_ipm_ipomonitor 没有数据记录,$adoRS.Fields("vc_stock_code").value 获取异常,大神们怎么处理这种异常!

发表于 2018-11-15 09:14:25 | 显示全部楼层
1. 在查詢前  先使用查詢 條件  查詢語法  讓他一定有返回值  譬如 COUNT(*)   這樣 有值就會返回筆數,無值就會返回0

在 判斷 大於0 怎麼處理   等於0 怎麼處理
 楼主| 发表于 2018-11-15 09:59:05 | 显示全部楼层
kk_lee69 发表于 2018-11-15 09:14
1. 在查詢前  先使用查詢 條件  查詢語法  讓他一定有返回值  譬如 COUNT(*)   這樣 有值就會返回筆數,無 ...

我看了你之前发的帖子,代码应该加上:If Not $adoRS.eof And Not $adoRS.bof Then
发表于 2018-11-15 11:00:36 | 显示全部楼层
libo1220 发表于 2018-11-15 09:59
我看了你之前发的帖子,代码应该加上:If Not $adoRS.eof And Not $adoRS.bof Then

ㄟ.............你說的 好像 點醒了我  這樣做 應該可以減少 很多查詢動作
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 13:03 , Processed in 0.067839 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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