delphi调用存储过程的问题
delphi代码是:procedureTForm1.Button1Click(Sender:TObject);beginwithADOStoredProc1dobegin...
delphi代码是:procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOStoredProc1 do
begin
ADOStoredProc1.ProcedureName:='usp_selectone';
ADOStoredProc1.Parameters.Clear;
ADOStoredProc1.Parameters[0].Name:='@id';
ADOStoredProc1.Parameters[0].Direction:=pdInput;
ADOStoredProc1.Parameters[0].DataType:=ftString;
ADOStoredProc1.Parameters.ParamByName('@id').Value:=Edit1.Text;
ADOStoredProc1.Open;
end
end;SQL Server的存储过程是:create procedure usp_selectonea
@id int
AS
SELECT id,value FROM tb where id=@idGO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO但是运行的时候报 展开
begin
with ADOStoredProc1 do
begin
ADOStoredProc1.ProcedureName:='usp_selectone';
ADOStoredProc1.Parameters.Clear;
ADOStoredProc1.Parameters[0].Name:='@id';
ADOStoredProc1.Parameters[0].Direction:=pdInput;
ADOStoredProc1.Parameters[0].DataType:=ftString;
ADOStoredProc1.Parameters.ParamByName('@id').Value:=Edit1.Text;
ADOStoredProc1.Open;
end
end;SQL Server的存储过程是:create procedure usp_selectonea
@id int
AS
SELECT id,value FROM tb where id=@idGO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO但是运行的时候报 展开
1个回答
2014-01-02
展开全部
这跟存储过程没关系,是你的代码写错了 procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOStoredProc1 do //用了with ADOStoredProc1 后面的ADOStoredProc1.就可以去掉了
begin
ProcedureName:='usp_selectone';
Parameters.Clear; //这里用了CLEAR,后面哪里还会有Parameters[0] Parameters.AddParameter; //上一句用了CLEAR,这里就ADD一个,后面才能用[0]
Parameters[0].Name:='@id'; //Parameters[0]应该改成Parameters.Add......
Parameters[0].Direction:=pdInput;
Parameters[0].DataType:=ftString;
Parameters.ParamByName('@id').Value:=Edit1.Text; Open;
end
end;
begin
with ADOStoredProc1 do //用了with ADOStoredProc1 后面的ADOStoredProc1.就可以去掉了
begin
ProcedureName:='usp_selectone';
Parameters.Clear; //这里用了CLEAR,后面哪里还会有Parameters[0] Parameters.AddParameter; //上一句用了CLEAR,这里就ADD一个,后面才能用[0]
Parameters[0].Name:='@id'; //Parameters[0]应该改成Parameters.Add......
Parameters[0].Direction:=pdInput;
Parameters[0].DataType:=ftString;
Parameters.ParamByName('@id').Value:=Edit1.Text; Open;
end
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询