存储过程
create proc xx
@x1 int =0,
@x2 char(9) = null,
@x3 nvarchar(400) =null,
....{n个参数}
as........
我的delphi程序
with ADOStoredProc1 do
Parameters.AddParameter.Name:='@x1';
Parameters.AddParameter.Name:='@x2';
Parameters.AddParameter.Name:='@x2';
......... //这里必须是n个
Parameters.ParamByName('x1'').Value:=0;
Parameters.ParamByName('x2').Value:='xx';
Parameters.ParamByName('x3').Value:='yy';
......... //这里必须是n个
ExecProc;
end;delphi中执行存储过程的参数的个数可以比n少吗?如果可以,请付原码
create proc xx
@x1 int =0,
@x2 char(9) = null,
@x3 nvarchar(400) =null,
....{n个参数}
as........
我的delphi程序
with ADOStoredProc1 do
Parameters.AddParameter.Name:='@x1';
Parameters.AddParameter.Name:='@x2';
Parameters.AddParameter.Name:='@x2';
......... //这里必须是n个
Parameters.ParamByName('x1'').Value:=0;
Parameters.ParamByName('x2').Value:='xx';
Parameters.ParamByName('x3').Value:='yy';
......... //这里必须是n个
ExecProc;
end;delphi中执行存储过程的参数的个数可以比n少吗?如果可以,请付原码
解决方案 »
- 一般传输p2p软件的正在下载界面的grid是怎么实现的 用什么控件呢?
- Tstringlist问题
- 高手,请教啊
- 请教请教一个加密反加密问题(这里先谢)
- 关于面向对象的问题,overload 和 override 有什么区别?
- DBGRIDEH的问题?
- 一个有趣的问题
- dbgrid当数据集中无记录时, 为什么多一个空行?怎样解决?
- 偶不是MM,谁能帮偶解决这个问题
- 我用ADO组件做多线程数据库查询程序,怎么有时会出现这样的错误‘Connection is busy with results For another command’;
- 问一个弱者的问题,但我确实不会,如何用ADOQuery把一条记录添加到数据库尾部!
- 关于网络视频会议的实现方法
adoquery1.sql.text := 'exec xx @x1=1';
adoquery1.execsql;
2:TAdoStoredProc可以实现。
3:调用的例子:
function PrGm_KillUser(chrGMID: string; intUserID: integer; strErrMsg: string): integer;
var sp: TAdoStoredProc;
begin
result := -1;
sp := TadoStoredProc.Create(nil);
sp.Close;
sp.Connection := DM.con; sp.ProcedureName := 'GM.dbo.PrGmKillUser';
sp.Parameters.Refresh;
sp.Parameters.ParamByName('chrGMID').Value := chrGMID;
sp.Parameters.ParamByName('@intUserID').Value := intUserID;
sp.Parameters.ParamByName('@chvErrMsg').Direction := pdoutput;
sp.Parameters.ParamByName('@chvErrMsg').Value := strErrMsg;
sp.ExecProc; strErrMsg := sp.Parameters.ParamValues['@chvErrMsg'];
if sp.Parameters.ParamByName('@return_value').Value > 1 then
result := 1; sp.Free;
end;