存储过程为:
use xuejiguanli
go
create proc xueji_selecteXueSheng
@XueHao varchar(20)
as
begin
select * from XueSheng where XueHao=@XueHao
end
delphi中的语句为
with sp_selectXueSheng do
begin
Close;
ProcedureName := 'xueji_selecteXueSheng';
Parameters.Clear;
Parameters.CreateParameter('XueHao',ftString,pdInput,20,Trim(edt_XueHao.Text));
ExecProc;
end;
但是执行后,在DBGRID中没有变化
use xuejiguanli
go
create proc xueji_selecteXueSheng
@XueHao varchar(20)
as
begin
select * from XueSheng where XueHao=@XueHao
end
delphi中的语句为
with sp_selectXueSheng do
begin
Close;
ProcedureName := 'xueji_selecteXueSheng';
Parameters.Clear;
Parameters.CreateParameter('XueHao',ftString,pdInput,20,Trim(edt_XueHao.Text));
ExecProc;
end;
但是执行后,在DBGRID中没有变化
另外因為儲存過程都有一個缺省返回值的參數@Return_Value,這個是否要加你可試試。
begin
Close;
SQL.Text:='xueji_selecteXueSheng '+Quotedstr(Trim(edt_XueHao.Text));
Open;
end;
转一下弯撒,,,存储过程是返回数据集的,直接用查询,换ADOQuqey
with ADOQuery do
begin
close;
SQL.Clear;
SQL.add('exec xueji_selecteXueSheng '''+Trim(edt_XueHao.Text)+')
Open;
end;这样就OK 了。
with ADOQuery do
begin
close;
SQL.Clear;
SQL.add('exec xueji_selecteXueSheng '''+Trim(edt_XueHao.Text)+'''')
Open;
end;这样就OK 了。