回 帖 发 新 帖 刷新版面

主题:如何把SQL服务器上的存储过程的结果显示出来?

我在服务器端写了个存储过程
CREATE PROCEDURE Pro1 @SbName varchar(20) AS
begin
  Select * from sbb
  Where sbh = @SbName
end

用SQL执行,很好。如 Pro1 '1060010001' 立马显示出那条数据。
现在的问题是:我用StoredProc1控件+DataSource1控件+DBGrid1控件,它死活就是不显示在DBGird1上。

procedure TForm1.Button1Click(Sender: TObject);
begin
  StoredProc1.Close;
  StoredProc1.Prepare;
  StoredProc1.ParamByName('@SbName').AsString := '1060010001';
  StoredProc1.ExecProc;
//  StoredProc1.UnPrepare;
end;

有谁用过,帮下忙吧,谁知道怎么用啊?谢谢

回复列表 (共3个回复)

沙发


procedure TForm1.Button1Click(Sender: TObject);
begin
  StoredProc1.Close;
  StoredProc1.Prepare;
  StoredProc1.ParamByName('@SbName').AsString := '1060010001';
  StoredProc1.ExecProc;
//  StoredProc1.UnPrepare;
  StoredProc1.Active:=True;
end;

我前两天也在搞这个,搞了半天,呵呵

板凳

不是这样的,这个问题大富翁上的网友帮我解决了.
其实,答案很简单!!!!!
把 StoredProc1.ExecProc改成StoredProc1.Open就可以了!
我真是太愚昧了!我居然没想到ExecProc是不返回结果的,Open才会返回.

3 楼


1楼的也是可以的!

我来回复

您尚未登录,请登录后再回复。点此登录或注册