jfsql.Close;
  jfsql.sql.clear;    //统计新单据的金额
  jfsql.sql.add('select sum(fk) as fk,sum(jnj) as jnj,sum(fwf) as fwf,sum(yjf) as yjf,sum(xsze) as xsje,sum(rzje) as rzje');
  jfsql.sql.add('from ywjl where jfph=:da1');
  jfsql.parambyname('da1').value :=dyph;
  jfsql.open;
  
  cfk:=jfsql.fieldbyname('fk').AsInteger;
  cjnj:=jfsql.fieldbyname('jnj').asinteger;
  cfwf:=jfsql.fieldbyname('fwf').asinteger;
  cyjf:=jfsql.fieldbyname('yjf').asinteger;
  cxsje:=jfsql.fieldbyname('xsje').asinteger;
  crzje:=jfsql.fieldbyname('rzje').asinteger;在mysql 4.0版本运行正常,5.0版本称找不到 ‘fk’,'jnj',...等字段。在程序中运行不通过。但此统计语句在mysql_front中运行,却是正常的。也就是jfsql.open是运行正常的。真是奇怪

解决方案 »

  1.   

    没可能,我用过,肯定是你的驱动有问题装个5.1版的ODBC驱动连接字符串里 DRIVER={MySQL ODBC 5.1 Driver};
      

  2.   

    加上在控制面板里的管理工具里的数据源 添加 MySQL ODBC 5.1 Driver
      

  3.   

    不应该,还是找找程序的问题,不应该怪罪mysql 
      

  4.   

    我也觉得不可思议,我的程序是在本地调试的,用4.0,用万网的虚拟主机,5.0。本地一点问题没有,虚拟主机出现了比较多的问题 ,如大小写敏感,字段是Decamil[8,2]的字段,在Delphi 程序中查询不出来,一定要改成int 类型的。现在不知还会有什么其他的问题 
      

  5.   

    showmessage(inttostr(jfsql.recordcount));有一行记录showmessage(inttostr(jfsql.FieldCount));为0