问一个变态的问题!我的程序不能长时间运行,我设了断点,他都是在一个给布尔变量赋值的地方弹出一个“病态变量”的错误框!请问这是为什么? (50分)

  • 主题发起人 主题发起人 e_ceo
  • 开始时间 开始时间
E

e_ceo

Unregistered / Unconfirmed
GUEST, unregistred user!
问一个变态的问题!我的程序不能长时间运行,长时间(一个小时)运行后,会弹出很多错误!
我设了断点,
它都是在一个给布尔变量赋值的地方弹出一个“病态变量”的错误框!请问这是为什么?
:病态变量:是金山的直译!呵呵呵呵!

invalid parameter!
 
贴英文出来~~~~~~~
 
是不是数据库的程序,用了SQL参数?
 
是的,用了几句!
Prepare;
sql.add('select 厂站号,点号,操作类型,命令类型,操作标志 from 操作命令表 where 处理标志=''0''');
UNPrepare;
ExecSQL;
 
应该翻译为:
无效变量吧?呵呵
 
那个sql应该是open,不是execsql
 
不错,需要返回数据集的SQL要用OPEN
 
同意楼上
 
Prepare和UNPrepare似乎也刚好用反了地方(这个问题应该不是出错的原因,不过似乎比较别扭)
 
ExecSQL->Open;
最好不要用
Prepare;
UNPrepare;
以前我受過Prepare的苦
 
ROHM:
; ;我不知道这是不是导致你出的问题原因,你的数据表中有NUMBER项值是空的,倒数第二条!
 
ORACLE?处理标志是CHAR型?

SQL.CLEAR;
sql.add('select 厂站号,点号,操作类型,命令类型,操作标志 from 操作命令表 where 处理标志=''0'' ');
Prepare;
OPEN;
 
;(1) ; ; setQuery.SQL.Add('update 操作命令表 set ;处理标志=1 where 厂站号=:CZH and 点号='''+DXXH+'''');
; ; ; setQuery.Prepare;
; ; ; setQuery.ExecSQL; ; ;
; ; ; deletelist;


(2)Prepare;
sql.add('select 厂站号,点号,操作类型,命令类型,操作标志 from 操作命令表 where 处理标志=''0''');
UNPrepare;
ExecSQL;

我的程序一共用了这两处!
我想肯定是这两个地方的原因!因为运行时间长了后,他会自动生成很多数据表!
比如_QSQ481.DB
_QSQ482.DB
_QSQ483.DB这样很有序的表!
我已经把execsql改成open了,但是我不知道prepare改成什么好!
 
多人接受答案了。
 
后退
顶部