源代码:
Q2.Close;
Q2.SQL.Clear;
Q2.SQL.Add('select * from xxx');
Q2.Open;
item.SubItems.Add(q2.Fieldbyname('fbillno').AsString);//varchar2类型
item.SubItems.Add(q2.fieldbyname('fdate').AsString);//date类型
item.SubItems.Add(q2.Fieldbyname('aaa').AsString);//number类型在运行item.SubItems.Add(q2.fieldbyname('fdate').AsString);//date类型
这一句时报以下错误:
project aaa.exe raised exception class EOleException with message 'Multiple-step operaiton generated errors. Check each status value'. process stopped. Use Step or Run to continue.如果把那句屏蔽就没有问题,都是同一个表中的字段,为什么啊????快疯了!!!
Q2.Close;
Q2.SQL.Clear;
Q2.SQL.Add('select * from xxx');
Q2.Open;
item.SubItems.Add(q2.Fieldbyname('fbillno').AsString);//varchar2类型
item.SubItems.Add(q2.fieldbyname('fdate').AsString);//date类型
item.SubItems.Add(q2.Fieldbyname('aaa').AsString);//number类型在运行item.SubItems.Add(q2.fieldbyname('fdate').AsString);//date类型
这一句时报以下错误:
project aaa.exe raised exception class EOleException with message 'Multiple-step operaiton generated errors. Check each status value'. process stopped. Use Step or Run to continue.如果把那句屏蔽就没有问题,都是同一个表中的字段,为什么啊????快疯了!!!
1.Q2.open后,先判断一下有没有记录,
2.将(item.SubItems.Add(q2.fieldbyname('fdate').AsString);//date类型) 提到(item.SubItems.Add(q2.Fieldbyname('fbillno').AsString);//varchar2类型)前面试试看是不是date型这句的问题,
如果是,就是fdate有问题,再说一下出错情况如何
记录是肯定有的,因为其它语句都提出值来了。是那句的问题,报错就是上面我说的啊
zjf27(还是菜的很) :我看到这个问题的时候,首先想到的就是这样,呵呵,可惜没用
item.SubItems.Add(q2.fieldbyname('fdate').AsString);//date类型
改为
item.SubItems.Add(2003-05-05')
先看这样可以吗
我的试法:用item.SubItems.Add(datetostr(date));代替那句
没有问题。
但换回去照样报错,我重启,甚至换另一台机器,全都是这样,什么原因啊???啊。。
想死了。。
你可以在数据库中试着再建一个date型的字段,取它的值看看能不能通过,这是调试么,要试试每一种可能性.to soldier7451:date型的可以用asString直接转换成字符串型呀
item.SubItems.Add(FormatDateTime('YYYY-MM-DD',q2.fieldbyname('fdate').AsDateTime);//
如果还有问题,那就是数据有空的在加个条件
if q2.fieldbyname('fdate').AsString<>'' then
item.SubItems.Add(FormatDateTime('YYYY-MM-DD',q2.fieldbyname('fdate').AsDateTime)
else
item.SubItems.Add('NULL');
再着,日期型的数据是没有空值的。
呵呵,不管怎么样,谢谢你们!可惜这好像不属于delphi的问题了,因为换了数据库后什么问题都没有了,再次感谢!
如果今天没有人发言,我就结帖了!谢谢!
item.SubItems.Add(datetostr(q2.fieldbyname('fdate').AsDatetime));//date类型
item.SubItems.Add(floattostr(q2.Fieldbyname('aaa').AsFloat));//number类型
上面有一个小小的要求就是你要保证你的数据库中该条记录中该字段的值不可以为空,其实你也可以用:
try
item.SubItems.Add(datetostr(q2.fieldbyname('fdate').AsDatetime));//date类型
item.SubItems.Add(floattostr(q2.Fieldbyname('aaa').AsFloat));//number类型
except
showmessage('输入你自己认为的提示信息!如:该记录中的该字段的值是空的!')
end{try}