为什么用query.fieldbyname('fieldname')取不到字段的值??
……
form_autoImport.database1.connected:=true;
query1.close;
//query1.sql.Text:='select mail_code,post_office_name arrival_date,input_date,posted_office_sum,gzpost_sum,gzpicc_sum,gzpolice_sum,transfer_flg from posted_mail_list where mail_code=:vcode';
//query1.sql.Text:='select * from posted_mail_list where mail_code=:vcode';
query1.sql.Text:='select mail_code 邮件号,post_office_name 投递局,arrival_date 封发日期,posted_office_sum+gzpost_sum+gzpicc_sum+gzpolice_sum 应收款总额,transfer_flg 勾挑标志 from posted_mail_list where mail_code=:vcode';
query1.Params[0].asstring:=edit_mailcode.text;
query1.Prepare ;
query1.Open;
if query1.IsEmpty then
begin
showmessage('邮件号不存在');
edit_mailcode.setfocus;
edit_mailcode.text:='ECN';
edit_mailcode.SelStart:=1;
exit;
end;
query1.First;
if query1.FieldByName('transfer_flg').Asinteger=1 then
=============================
begin
showmessage('该邮件号已勾挑');
edit_mailcode.SetFocus;
edit_mailcode.text:='ECN';
edit_mailcode.SelStart:=1;
exit;
end;
……
部分源程序如上,有sqlserver中的表,我用query查询如上,其中transfer_flg是int类型字段,默认值为0。我用一个dbgrid连接到query上,可以显示到tranfer_flg为0,可是在程序执行到上面双划线的那一句的时候会出错:“query1:field‘transfer_flg’not found”。请问各位有何高见?????