--取最大值
CREATE PROCEDURE CP_SYSMAX(
@TableName varchar(32),
@Maxid integer output
)AS
update SYS_MAX set Maxid = Maxid +1
Where TableName = @TableName
if @@error != 0 return @@errorselect @Maxid = Maxid
from SYS_MAX
where TableName = @TableName
if @@error != 0 return @@errorselect @Maxid = @Maxid if @@error != 0 return @@error
return @MaxId
GO
--------------------------------------------以上是存储过程-------------------------------------
PS-就是取一个表的最大值 执行一次就+1在DELPHI 里怎么调用? 要用到哪些控件?
CREATE PROCEDURE CP_SYSMAX(
@TableName varchar(32),
@Maxid integer output
)AS
update SYS_MAX set Maxid = Maxid +1
Where TableName = @TableName
if @@error != 0 return @@errorselect @Maxid = Maxid
from SYS_MAX
where TableName = @TableName
if @@error != 0 return @@errorselect @Maxid = @Maxid if @@error != 0 return @@error
return @MaxId
GO
--------------------------------------------以上是存储过程-------------------------------------
PS-就是取一个表的最大值 执行一次就+1在DELPHI 里怎么调用? 要用到哪些控件?
解决方案 »
- 动态复杂表单的数据输入问题
- dbexpress的不能applyupdates?
- 關於nmsmtp1發郵件得問題,我現在可以發正文,但是我卻不知道怎麼發附件,可以用該控件發附件嗎?
- 快来看啊!奇文!《你该相信谁》
- 请各位大虾帮帮忙!是比较的回答,马上兑现
- 如何设计工控软件?
- 特急:sql server数据库复制到另一计算机上后打不开
- 各位大虾:小妹我想开发一个数据库应用程序,能否给我一些建议?(比如:采用什么数据库类型、那种数据库查询速度快、可扩展性好?等等) 谢谢大虾!
- 你有做過數據集的部件, 沒有請看下例: 做好一個數據集部件, 但不能用各位請看看對你可能有幫助, 說明都很詳細:
- Dev Express系列的控件哪儿可以找得到!(jiantao)
- insert into插入时间的问题,实在不行了
- 请教高手:用des算法对文件加密该如何实现?
id: integer;
begin
i_sql := 'declare @Maxid int,@Ninterid varchar(20) '
+ ' exec CP_SYSMAX 'tablename',@CP_SYSMAX output '
+ ' SELECT Maxid = @Maxid '
//使用查询数据集 AQOquery
with AQOquery do
try
disablecontrols; close;
SQL.Clear;
SQL.Add(ssql);
prepared;
open;
finally
enablecontrols;
end;
//取得结果
id := AQOquery.Findfield('Maxid').asinteger;
end;
应该是:i_sql := 'declare @Maxid int '
+ ' exec CP_SYSMAX 'tablename',@Maxid output '
+ ' SELECT Maxid = @Maxid '
begin
Connection:=ADOConnection;
Close;
ProcedureName:='CP_SYSMAX';
Parameters.Clear;
Parameters.CreateParameter('@TableName',ftstring,pdInput,32,kk);//kk是要传入的变量,如kk:='kaikai'
Parameters.CreateParameter('@Maxid',ftinteger,pdoutput,0,0);
ExecProc;
Showmessage(Parameters.ParamByName('@Maxid').Value); //这个就是返回的@MaxId值
Connection:=nil;
end;