请问各位大侠 我在做三层系统的时候 用CLIENTDATASET【连接在服务端的DataSetProvider1】
存储过程如下:
CREATE PROCEDURE cx
@nam varchar(50),
@pwd varchar(50),
@t integer output
 AS
select @t=count(*) from nam where @nam=name1
if @t=0
insert into nam(name1,pwd)values(@nam,@pwd)
else 
return @t
GO
执行编码:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with dm.CLIENTDATASET1 do
  begin
    Close;
    Params.ParamByName('@nam').Value := Edit1.text;
    Params.ParamByName('@pwd').Value := Edit2.text;
    Execute;
    end;
    if (dm.CLIENTDATASET.Params.ParamByName('@t').Value) > 0 then
    begin
      showmessage('失败');
    end
    else begin
      showmessage('成功');
    end;
end;
问题就是  为什么 我按钮第一次按能执行代码 并提示相关信息,如果再按一次他就提示ParamByName '@nam' not found不知道什么原因!