|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
yhz (yhz) |
★☆☆☆☆ |
-
|
普通会员 |
|
2003/4/16 15:15:12 |
标题: |
在DELPHI中如何用ADO访问mssqlserver中存储过程产生的临时表 |
浏览:5201 |
|
加入我的收藏 |
楼主: |
在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;
这就完成调用临时表的数据了。
----------------------------------------------
-
|
|