请问各位大侠 我在做三层系统的时候 用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不知道什么原因!
存储过程如下:
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不知道什么原因!
这个在前面加一句试一下:Params.ParamByName('@nam').Value := '';和Params.ParamByName('@nam').Value := Edit1.text; 有什么区别吗?