请问QUERY是不是不能处理bigint型的字段啊,我Query的结果中找不到bigint字段啊?

解决方案 »

  1.   

    query.fieldbyname('你的字段').asint64;
      

  2.   

    晕,居然没这个属性
    有个Largeint类型
      

  3.   

    asint64  程序说是为定义啊。高手怎么回事啊?我用的DELPHI5 是不是版本太低了啊?
      

  4.   

    我用的QUERY.FIELDBYNAME('字段名') 程序报错 说是找不到该字段,怎么回事啊?
      

  5.   

    能否贴出你的这段代码或SQL语句?
      

  6.   

    procedure TForm2.Button1Click(Sender: TObject);
    var
      sql,sql1,sql2:String;
      CatNode : TTreeNode;
      time:Integer;
      nodename:String;
      N: TTreeNode;
    begin
      TvwTips.SetFocus; //将焦点置到这个TREEVIEW控件上
      sql:='select b.dept_name,c.dept_name,d.dept_name,dydj,bdsmc'+
      ' from userid.dm_bds a,userid.ac_depart b,userid.ac_depart c,userid.ac_depart d'+
      ' where a.dw_id=204 and b.id=a.dw_id and a.jk_id=c.id and d.id=a.czb_id'+
      ' order by a.jk_id,a.czb_id,a.dydj desc';
       query1.Close;
       query1.SQL.clear;
       Query1.SQL.Add(sql);
       query1.Open;
       Query1.Last;
       Query1.First;
       while not Query1.EOF  do
       begin
       TvwTips.Items.AddFirst(TvwTips.Items.GetFirstNode,Query1.FieldByName('bdsmc').AsString ); //增加根节点
       nodename:=Query1.FieldByName('bdsmc').AsString;
       sql1:='select id,BDSMC from USERID.DM_BDS where BDSMC='''+ Query1.FieldByName('bdsmc').AsString +''' ';
       showmessage(sql1);
       query2.Close;
       query2.SQL.clear;
       Query2.SQL.Add(sql1);
       Query2.Open;
       showmessage(Query2.FieldByName('id').AsString);
       {sql2:='select bdsmc,dymc,a.dydj from userid.bd_sbdy a ,userid.dm_bds b where b.id='+IntToStr(Query2.FieldByName('id').AsInteger);
       showmessage(sql2);
       query3.Close;
       query3.SQL.clear;
       Query3.SQL.Add(sql2);
       query3.Open;
          while not Query3.EOF  do
           begin
            N := TvwTips.Items[0];
            TvwTips.Items.AddChild(N, Query3.FieldByName('dymc').asstring );
            Query3.Next;
           end;   }
       Query1.Next;
       end;end;
      

  7.   

    sql1:='select id,BDSMC from USERID.DM_BDS where BDSMC='''+ Query1.FieldByName('bdsmc').AsString +''' '; 
    这里面的ID 就是BIGINT型的字段 表名啊 配置啊 什么的都正确 就是不知道哪里出错了 是不是DELPHI5、7不支持BIGINT型啊。
      

  8.   

    当int过亿时,Delphi会自动以科学计数法(1.2424214214E23)表示,
    可以使用IntToStr()函数强制转换:
    ShowMessage(Query2.FieldByName('id').Value);
      

  9.   

    纠正:ShowMessage(IntToStr(Query2.FieldByName('id').Value));