DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: liy187
今日帖子: 0
在线用户: 1
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 yhz (yhz) ★☆☆☆☆ -
普通会员
2003/4/16 15:15:12
标题:
在DELPHI中如何用ADO访问mssqlserver中存储过程产生的临时表 浏览:5197
加入我的收藏
楼主: 在DELPHI中如何用ADO访问mssqlserver中存储过程产生的临时表
----------------------------------------------
-
作者:
男 hedong (hedong) ★☆☆☆☆ -
盒子活跃会员
2003/4/16 17:46:35
1楼: 普通调用即可,没什么难的呀。

现成的:
CREATE PROCEDURE SP_SHOW_BYSBYDL
   @ymc varchar(20)
AS
   create table #bydlb(
          ymc varchar(20),
         zymc varchar(20),
           xh varchar(7),
           xm varchar(12),
           xb char(2),
           nj int,
         byzh varchar(20),
         xwzh varchar(20)
   )


   if @ymc='0' 
             insert #bydlb
                   select sz_yxxx.ymc as ymc, sz_zyxx.zymc as zymc, zxs_zxsxx.xh,
                          zxs_zxsxx.xm, zxs_zxsxx.xb, zxs_zxsxx.nj, zxs_zxsxx.by_byzh, 
                          zxs_zxsxx.by_xwzh                     
                   from zxs_zxsxx inner join
                          sz_yxxx on zxs_zxsxx.yxh = sz_yxxx.yxh inner join
                          sz_zyxx on zxs_zxsxx.zyh = sz_zyxx.zyh and 
                          zxs_zxsxx.yxh = sz_zyxx.yxh
                   where (zxs_zxsxx.by_bh > 0) and (zxs_zxsxx.by_bydl = 1)
   else
             insert #bydlb
                   select sz_yxxx.ymc as ymc, sz_zyxx.zymc as zymc, zxs_zxsxx.xh,
                          zxs_zxsxx.xm, zxs_zxsxx.xb, zxs_zxsxx.nj, zxs_zxsxx.by_byzh, 
                          zxs_zxsxx.by_xwzh
                   from zxs_zxsxx inner join
                          sz_yxxx on zxs_zxsxx.yxh = sz_yxxx.yxh inner join
                          sz_zyxx on zxs_zxsxx.zyh = sz_zyxx.zyh and 
                          zxs_zxsxx.yxh = sz_zyxx.yxh                      
                   where (zxs_zxsxx.by_bh > 0) and (zxs_zxsxx.by_bydl = 1) and (sz_yxxx.ymc=@ymc)


     select * from #bydlb order by ymc, zymc, xh


delphi调用:

可以用ADOQuery或ADOProc
以ADOQuery为例:

with ADOQuery1 do
begin
   close;
   sql.Text := 'Exec SP_SHOW_BYSBYDL '0'';
   Open;
end;  

这就完成调用临时表的数据了。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行67.38281毫秒 RSS