如何把一个表中的一列的记录动态地读到另一张新表中作为新表的字段名???

zgq19801123 2004-03-22 08:55:02
比如:现有表a
字段名为:x y z
对应记录 a1 a1 a1
b2 b2 b2
c3 c3 b3
要动态生成的新表b
的字段名为:a1 b2 c3
...全文
93 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rockswj 2004-03-22
  • 打赏
  • 举报
回复
简单示例。作为字段名注意名字约束,x字段值不能有特殊符号。
procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOQuery1 do
begin
Close;
Sql.Clear;
Sql.Add('select x from a');
Open;
if RecordCount>0 then
with ADOQuery2 do
begin
Close;
Sql.Clear;
Sql.Add('create table b ( '+ADOQuery1.Fields[0].AsString+' varchar(10))');
ShowMessage(Sql.Text);
ExecSql;
ADOQuery1.Next;
while not ADOQuery1.EOF do
begin
Sql.Clear;
Sql.Add('alter table b Add '+ADOQuery1.Fields[0].AsString+' varchar(10)');
ExecSql;
ADOQuery1.Next;
end;
end;
end;
end;
zgq19801123 2004-03-22
  • 打赏
  • 举报
回复
楼上:我是新手,具体咋写比较合适啊?能不能给点示范代码啊?

manboo 2004-03-22
  • 打赏
  • 举报
回复
如果是采用,SQL语句,你可以采用 数据库的功能先逆转生成 C,SQL 记录,然后再采用
insert into b(...) select ..... from C,Access有生成交叉逆转的工具,SQL Server也有相应的语句,你可以参考不同的数据库来处理。也可以采用程序处理阿,
你现遍历,a,然后可以很方便的成b

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧