主题:[原创]求助 急急急!!!!!
kao1982215
[专家分:0] 发布于 2006-09-21 17:59:00
preoject preoject1.exe raised exception class evariantypecast error
with message 'could not convert variant of type(null) into type(string)'.
process stopped.
我调试时总是出现这样的错误 为啥啊 咋改阿
回复列表 (共7个回复)
沙发
冰封星云 [专家分:2260] 发布于 2006-09-21 22:34:00
你是不是写的插入语句啊,丢了一个字段
板凳
mzy1982 [专家分:470] 发布于 2006-09-22 09:26:00
把错误代码段一贴就知道了
string和null无法转化的关系
3 楼
kao1982215 [专家分:0] 发布于 2006-09-22 12:02:00
代码没错啊 是不是与数据库定义的类型有关啊
4 楼
冰封星云 [专家分:2260] 发布于 2006-09-22 16:35:00
把表结构 和insert语句贴出来看看
5 楼
kao1982215 [专家分:0] 发布于 2006-09-25 13:00:00
数据库:月份 总业绩 月平均业绩 月人平均业绩 计算系数 最低提成比例 人均月任务量 站月工资
adoquery1.close;
adoquery5.close;
adoquery6.close;
adoquery7.close;
ADOQuery1.SQL.Clear;
ADOQuery5.SQL.Clear;
ADOQuery6.SQL.Clear;
ADOQuery7.SQL.Clear;
adoquery1.SQL.Add('select 业绩量 from 工作表 where 月份=''一月''' );
adoquery1.SQL.Add('and where 月份=''十一月''' );
adoquery1.SQL.Add('and where 月份=''十二月''' );
adoquery5.SQL.Add('select 业绩量 from 工作表 where 月份=''一月''' );
adoquery5.SQL.Add('and where 月份=''十一月''' );
adoquery5.SQL.Add('and where 月份=''十二月''' );
adoquery6.SQL.Add('select 业绩量 from 工作表 where 月份=''一月''' );
adoquery6.SQL.Add('and where 月份=''十一月''' );
adoquery6.SQL.Add('and where 月份=''十二月''' );
adoquery7.SQL.Add('select 业绩量 from 工作表 where 月份=''一月''' );
adoquery7.SQL.Add('and where 月份=''十一月''' );
adoquery7.SQL.Add('and where 月份=''十二月''' );
adoquery1.open;
adoquery5.open;
adoquery6.open;
adoquery7.open;
sum1:=sum1+ADOTable3.fieldbyname('业绩量').value;
sum2:=sum2+ADOTable5.fieldbyname('业绩量').value;
sum3:=sum3+ADOTable6.fieldbyname('业绩量').value;
sum4:=sum4+ADOTable7.fieldbyname('业绩量').value;
s1:=sum1+s1;
s2:=s1/3;//月平均业绩
adoquery2.close;
ADOQuery2.SQL.Clear;
adoquery2.SQL.Add('select 人数 from 数量 where 月份=''一月''' );
s8:=s8+ADOTable1.fieldbyname('人数').value;
s3:=s2/s8;
adoquery3.close;
ADOQuery3.SQL.Clear;
adoquery3.SQL.Add('select 总人数 from 一通1 where 月份=''一月''' );
adoquery3.open;
s9:=s9+ADOTable4.fieldbyname('总人数').value;
s4:=(sum1+sum2+sum3+sum4)/(3*s9);
adoquery2.close;
ADOQuery2.SQL.Clear;
adoquery2.SQL.Add('select 提成系数 from 数量 where 月份=''一月''' );
adoquery2.open;
s10:=s10+ADOTable1.fieldbyname('提成系数').value;
s5:=s4*s10;
s6:=s2*1.05;
s7:=s6*s5;
str(s2:8:2,b);
str(s3:8:2,c);
str(s4:8:2,d);
str(s5:8:2,e);
str(s6:8:2,f);
str(s7:8:2,s);
str(sum1:8:2,a);
Memo1.Text:='数目:'+a;
Memo1.Text:='数目:'+b;
Memo1.Text:='数目:'+c;
Memo1.Text:='数目:'+d;
Memo1.Text:='数目:'+e;
Memo1.Text:='数目:'+f;
Memo1.Text:='数目:'+s;
ADOTable2.append;
SaveDataToTable;
6 楼
jakyben [专家分:80] 发布于 2006-09-25 18:47:00
自己单步跟踪调试看看就可以了
7 楼
kao1982215 [专家分:0] 发布于 2006-09-25 21:01:00
自己单步跟踪调试咋用啊
我来回复