想让存储过程执行的查找结果显示出来(逻辑问题)(0分)

  • 主题发起人 主题发起人 xuzhic2001
  • 开始时间 开始时间
X

xuzhic2001

Unregistered / Unconfirmed
GUEST, unregistred user!
我的dbgrideh与query1连接,为了提高查询速度,我想用存储过程来执行查找,可是查找的结果怎么在dbgrideh上面显示出来,我用
with query1 do
begin
close;
sql.clear;
sql.add('exec 过程名');
execsql;
end;
可是这执行的查找结果不能在dbgrideh里面显示出来,好像逻辑上不对,dbgrideh与query1连接,query1执行的存储过程.......
 
我想用存储过程建立一个临时表,把查询出的结果放在这个临时表里面,用querya在临时表里面查找,不知道这样是不是会比直接用querya在数据库中找的速度快.
还有一个问题,如果建立临时表的话多个用户使用这个存储过程的话,建立的临时表名不就重复了么?
 
不知道你说的什么意思,但是储存过程建立临时表后执行完查询以后删除这个表啊...每个操作都是同步完成的..临时表只是用来显示查询出的数据...显示完以后马上DROP 掉了....
 
临时表不会重复,它会自动销毁的,如果你不放心,最后drop掉就ok。
另外,既然用了存储过程,再使用TQuery去调用它就有些脱裤子放屁了,呵呵,用TStoredProc控件,使用open打开即可,注意存储过程执行结果必须有数据集返回否则报错。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
927
SUNSTONE的Delphi笔记
S
后退
顶部