以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 计划任务执行报错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=70942)

--  作者:chnfo
--  发布时间:2015/7/1 21:51:00
--  [求助] 计划任务执行报错
建立了一个计划任务“XYZ”,定时往共享数据库的表中写数据。

定时600000,即600秒写一次。

Dim dr As DataRow = DataTables("AAA").DataRows(0)  ‘AAA表是共享数据库的表
dr("CS") = EncryptText( "CID:" & ComputerId & vbcrlf & "Time:" &  now ,"ABCD","DCBA")  ’CS列设为备注型

在程序运行过程中,报出这个错误:

计划XYZ代码执行出错,在对代码做出修正之前,将停止执行此计划。

错误信息:
System.IndexOutOfRangeException: 索引超出了数组界限。

   在 Foxtable.DataRowCollection.get_Item(Int32 Index)

   在 UserCode.Timer_CreatClient()

这是什么问题?

--  作者:大红袍
--  发布时间:2015/7/1 21:54:00
--  

 一般是这句的问题,DataTables("AAA").DataRows(0)  

 

 说明此时你表里面没有数据。


--  作者:chnfo
--  发布时间:2015/7/1 22:06:00
--  
果然,把那个表初始化了。难怪

加上一句:

if DataTables("AAA").DataRows.count = 0 then 
  DataTables("AAA").addnew()
end if 

Dim dr As DataRow = DataTables("AAA").DataRows(0)  ‘AAA表是共享数据库的表
dr("CS") = EncryptText( "CID:" & ComputerId & vbcrlf & "Time:" &  now ,"ABCD","DCBA")  ’CS列设为备注型