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但是运行的时候报
展开
 我来答
匿名用户
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;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式