我现在用DELPHI6连接远程MYSQL,连接成功。
设SQLCONNECTION 变量为CONN查询代码如下,主要是根据每条数据,截取身份证号前两位,而算出是哪个省的,只用了两个组件,一个连接的,一个查询的。:    CONN.close;
    conn.commontext:='select substr(sfzh,1,2) sheng,count(*) as num from table where date>='2011-03-01 00:01:01' and date<='2011-03-01 23:59:59' group by substr(sfzh,1,2)';    conn.open;
    pCount:=conn.recoredCount;
     
    问题:如果上面有什么单词错误,跳过,比如上段能运行成功。
    但为什么,同样的SQL语句,在MYSQL中查出条数为12条,而上面的pCount却只有6条,根据时间不同,数据有时对有时不对,如果不对,全部是比MYSQL中少数据?
    我上面的代码少什么东西没?难道只CLOSE,SQL,OPEN一下就行了?还是MYSQL的时间写得不对,还是该控件有什么数据集限制?

解决方案 »

  1.   

    不知你用什么控件。我在DELPHI 7 ,如果是用TSQLConnection,这类的那来的"commontext“的属性。假如你是用TSQLConnection做连接,那么还要用一个TSQLDataSet(或TSQLQuery)吧,这个控件才有一个写SQL的属性:CommandText := 'select * from ta'。贴出你代码吧,不要让回复人猜迷。
      

  2.   

    conn.commontext:='select substr(sfzh,1,2) sheng,count(*) as num from table where date>='2011-03-01 00:01:01' and date<='2011-03-01 23:59:59' group by substr(sfzh,1,2)';
    这句写的有问题,编译都通不过
      

  3.   

    用query控件试试呗~用的神马控件也没说~
      

  4.   

    你最好将那句SQL语句在MSSQL数据库执行一下看看是否正确,正确的话
    再在程序中写入变量中。。