早上又跟我说以前开发的那个模式不行 一个字“改”。。。
使用存储过程,向数据表中插入数据并返回插入数据的ID值 没办法,人在公司里 不得不低头啊!只能重新建表,重新写方法了
数据库中的表结构 FileID int 4 自动编号
OriginalName nvarchar 50
NewName nvarchar 50
Path nvarchar 100
FileSize int 4
Type int 4
Flag int 4
IsHistory int 4
ID varchar 50
FillTime datetime 8
SQL存储过程
/**//* 向文件表插入数据 如果原来已经有数据 则先把原来的数据改为历史数据 再插入新数据 */ CREATEproc InsertFileInfo @retValint output, @foNamevarchar(50), @fnNamevarchar(50), @fPathvarchar(100), @fSizeint, @fTypeint, @fFlagint, @fDatedatetime, @fIdvarchar(50) as begin ifexists (select*from T_File where ID=@fIdand Flag=@fFlag ) -- 是否已经有数据,把已有数据状态改为历史 再插入新的数据 begin update T_File set IsHistory=0where ID=@fIdand Flag=@fFlag end insert T_File( OriginalName,NewName,Path,FileSize,Type,Flag,IsHistory,ID,FillTime )values( @foName,@fnName,@fPath,@fSize,@fType,@fFlag,1,@fId,@fDate ) select@retVal=@@IDENTITY end GO