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;
sql1:='select id,BDSMC from USERID.DM_BDS where BDSMC='''+ Query1.FieldByName('bdsmc').AsString +''' '; 这里面的ID 就是BIGINT型的字段 表名啊 配置啊 什么的都正确 就是不知道哪里出错了 是不是DELPHI5、7不支持BIGINT型啊。
有个Largeint类型
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;
这里面的ID 就是BIGINT型的字段 表名啊 配置啊 什么的都正确 就是不知道哪里出错了 是不是DELPHI5、7不支持BIGINT型啊。
可以使用IntToStr()函数强制转换:
ShowMessage(Query2.FieldByName('id').Value);