我想在Delphi中调用SQL Server上的存储过程,该存储过程中声明了一个@ID的参数,但是下面代码在运行过程中产生错误,说找不到该参数,如果注释掉参数传递语句的话,又说@ID参数没有赋值。怎么回事?
procedure TfrmWizardModel.Button1Click(Sender: TObject);
var
prc:TADOStoredProc;begin
prc:=TADOStoredProc.Create(nil);
prc.Connection :=DataSource.cnn ;
prc.ProcedureName :='prNameGet';
prc.Parameters.ParamByName('@ID').Value:=1;
prc.Open ;
showmessage(prc.Fields[1].AsString );
prc.Close ;
prc.Free ;
end;
procedure TfrmWizardModel.Button1Click(Sender: TObject);
var
prc:TADOStoredProc;begin
prc:=TADOStoredProc.Create(nil);
prc.Connection :=DataSource.cnn ;
prc.ProcedureName :='prNameGet';
prc.Parameters.ParamByName('@ID').Value:=1;
prc.Open ;
showmessage(prc.Fields[1].AsString );
prc.Close ;
prc.Free ;
end;
解决方案 »
- 如何获得本机在公网的ip地址(连接方式为 adsl + hub)
- delphi中如何处理一个从C++写的组件的事件(参数类型是安全数组)呢?
- 急问一个字符串格式转换问题
- 真想离开delphi(个人的感觉)
- 求如何编写甘特图,急(最好有控件)!!
- 大虾:问一个项目中窗体的创建问题。用那一种方法最好?
- ★关于windows xp的中文字体问题!比win98中少很多,程序界面的文字变形了,怎么办?
- 动态创建的VCL的事件怎么写?
- 等了十多天才敢说辞职,高兴散分!
- 如何在设计时(IDE环境中)就把一系列同类控件设为控件数组?(不是动态创建的控件数组)
- 急!关于两个表互相update的问题!!
- 怎么样把多个相同的空间放在一个数组里面呢?
procedure TForm1.btnNotSoBadClick(Sender: TObject);
begin
with ADOStoredProc1,Parameters do
begin
Close;
ProcedureName := 'prNameGet;1';
Refresh;
ParamByName('@ID').Value := 1;
try
Open;
except
execproc;
end;
end;
end;
var
prc:TADOStoredProc;begin
prc:=TADOStoredProc.Create(nil);
prc.Connection :=DataSource.cnn ;
prc.ProcedureName :='prNameGet';prc.Parameters.CreateParameters('@ID', ftString, pdInput, '');// 少了这句!没有创建,具体看一下,可能打错个别字! prc.Parameters.ParamByName('@ID').Value:=1;
prc.Open ;
showmessage(prc.Fields[1].AsString );
prc.Close ;
prc.Free ;
end;