大哥们:
小弟的毕业设计已经接近尾声,可是最后我在用DBGrid显示存储过程的查询结果的时候却没什么响应.我用SQL Server2000
比如我的一个存储过程是:
create proc sp_qqq
@a varchar,
@b varchar outpur,
@c varchar output
as
begin
select @b=table_sss.B,@c=table_sss.C
From table_sss
where table_sss.A=@a
end
我在delphi中用BDEstoredproc调用了这个过程
storedproc1.prepare;
sroredproc1.parambyname('@a').asstring:=Edit1.text;
storedproc1.execproc;
用datesorce1连了DBGrid1 和storedproc1
这样可以吗?我运行后DBGrid没什么反应,
如果把存储过程中的output 去掉
也不行
大哥们看我是哪个地方有毛病呢?
用query就能顺利查到这些内容的
小弟的毕业设计已经接近尾声,可是最后我在用DBGrid显示存储过程的查询结果的时候却没什么响应.我用SQL Server2000
比如我的一个存储过程是:
create proc sp_qqq
@a varchar,
@b varchar outpur,
@c varchar output
as
begin
select @b=table_sss.B,@c=table_sss.C
From table_sss
where table_sss.A=@a
end
我在delphi中用BDEstoredproc调用了这个过程
storedproc1.prepare;
sroredproc1.parambyname('@a').asstring:=Edit1.text;
storedproc1.execproc;
用datesorce1连了DBGrid1 和storedproc1
这样可以吗?我运行后DBGrid没什么反应,
如果把存储过程中的output 去掉
也不行
大哥们看我是哪个地方有毛病呢?
用query就能顺利查到这些内容的
解决方案 »
- CPU使用率不到40% 物理内存不到60% 程序却很卡
- 请教高手MDI子窗体中的Coolbar怎样覆盖主窗体的coolbar?
- 如何操纵 MS Project 2003 ? 我打开菜单Project -> Import Type Library ....
- 函数类型转换
- 为何进行Windows Update会对程序造成影响?
- 如何写代码,焦点从一个edit控件传到另一个edit控件上
- 如何得到局域网中主机的MAC地址?
- dbgrid问题?
- 谁有delphi做的人事工资管理系统源码
- 和VS.NET比,DELPHI6和kylix的优势在哪里 ?
- 怎样屏蔽掉DBGridEh的第二列,使之不能让用户编辑,并且不能得到焦点
- 对midas.dll的错误做个调查==================================================
@a varchar,
@b varchar outpur,
@c varchar output
as
begin
select @b=table_sss.B,@c=table_sss.C
From table_sss
where table_sss.A=@a; select @b, @c
end
create proc sp_qqq
@a varchar,
@b varchar ,
@c varchar
as
begin
select @b=table_sss.B,@c=table_sss.C
From table_sss
where table_sss.A=@a;
end行马?
create proc sp_qqq
@a varchar,
as
begin
select table_sss.B,table_sss.C
From table_sss
where table_sss.A=@a
end在delphi中
with tquery1 do
begin
close;
sql.clear;
sql.add('exec sp_ppp ' + a);
open
end;
然后将dbgrid和tquery1关联
使用open代替execproc
open-->有返回记录集
execproc->无返回记录集
select @b=table_sss.B,@c=table_sss.C
From table_sss
where table_sss.A=@a;仅仅是把数据存入变量中,并不返回数据。这个你可以在SQL Server的查询分析器里面测试一下。所以后面要加一句:select @b, @c最后,后面几位说的使用open而不是使用execproc也是有道理的。
因为我使用存储过程的使用都是直接使用的TQuery或者TAdoQuery,没有用过BDEstoredproc
,所以不敢妄加评论。
http://expert.csdn.net/Expert/topic/1859/1859495.xml?temp=.9113275
open 即可