比如说表1为
table1 : a1 b1
1 hjhjggj
2 vb
3 vc
4 delhi
table2: b1 c1
vc open
vc close
delphi openfile
delphi closefile
delphi dirpath
能不能在不创建表的情况下将table2的多个记录放在degrideh的一个记录里
结果是这样的: a1 c1
1 -
2 -
3 open close
4 openfile close file dirpath
table1 : a1 b1
1 hjhjggj
2 vb
3 vc
4 delhi
table2: b1 c1
vc open
vc close
delphi openfile
delphi closefile
delphi dirpath
能不能在不创建表的情况下将table2的多个记录放在degrideh的一个记录里
结果是这样的: a1 c1
1 -
2 -
3 open close
4 openfile close file dirpath
解决方案 »
- 编程实现 delphi 线性回归方程
- 请大家加入共同学习 QQ群:17468781
- 如何读取磁盘驱动信息,在线等!!!!
- 怎么调用这个函数?delphi自带的函数还要怎么做?
- 使用 dev ExpressBar 后,mdi 主窗口的 WindowMenu 没有了,怎么办?
- 寻求半透明悬浮窗口解决方案及源代码~up有分
- 请问在commandtext里面可以执行存储过程吗?
- 有人用过sunisoft ui这个XP界面控件吗,不知道那个弹出对话框如何搞掉?
- dll中调用dll,内存狂涨的问题!
- WMHotKey的问题!!
- j将程序加入到启动项中
- 直接改用调试时cpu的汇编指令为 asm嵌入为什么不行?
with (DBGridEh1.DataSource.DataSet as TADOQuery) do
begin
Close;
sql.Clear;
sql.Text:= 'select a1,c1 from table1 a,table2 b where a.b1=b.b1 order by a1';
open;
end;
1 -
2 -
3 open
3 close
4 openfile
4 closefile
4 dirpath
我想要的是a1=4的c1所有的记录都在一个格里 就是说相当于1个c1记录
{//------------------------------------------------------------------------------
// 窗体初始化. 打开adoquery1.数据集
//------------------------------------------------------------------------------}
procedure TForm1.FormShow(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text:='select a1 from table1 group by a1 order by a1';
ADOQuery1.Open;
end;{//------------------------------------------------------------------------------
// CalcFields事件,处理第计算字段的值
//------------------------------------------------------------------------------}
procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
var
qry2:TADOQuery;
c1Value:string;
begin
c1Value:='';
// 这样的结果可以借助于dataset的计算字段实现.可在dataset中加一计算字段,字段名称为zzzz.然后在 qry2 := TADOQuery.Create(nil);
try
qry2.ConnectionString:= '....';
qry2.SQL.Clear;
qry2.SQL.Text:= 'select * from table2 where b1='+quotedstr( Tadoquery(sender).fieldByName('b1').AsString);
qry2.Open;
qry2.First;
while qry2.Eof do
begin
c1Value:= c1Value+ qry2.fieldByname('c1').asstring;
qry2.Next;
end;
Tadoquery(sender).fieldByName('zzzz').Value:= c1Value;
finally
qry2.Free;
end;
end;