>USE WorkIT >declare @p1 bigint >set @p1=NULL >exec wit_AddAddress @AddressKey=@p1 output,@AddressTypeKey=456,@Street1=N'AAAAAAAAAAAAAA',@Street2=N'AAAAAAAAAAAAAAA',@City=N'AAAAAAAAAAAA',@State=N'AA',@PostalCode=N'AAAAA' >select @p1 > >>
>>>CREATE PROCEDURE wit_AddAddress >>> @AddressTypeKey INT, >>> @Street1 VARCHAR(100), >>> @Street2 VARCHAR(100), >>> @City VARCHAR(40), >>> @State CHAR(2), >>> @PostalCode CHAR(10), >>> @AddressKey INT = 0 OUTPUT >>>AS >>> >>>BEGIN >>> >>> INSERT INTO wit_AddAddress >>> (AddressTypeKey, Street1, Street2, City, State, PostalCode) >>> VALUES >>> (@AddressTypeKey, @Street1, @Street2, @City, @State, @PostalCode) >>> >>> SET @AddressKey = SCOPE_IDENTITY() >>> >>>END >>>>>>
>>>public override bool SaveChanges() >>>{ >>> bool RetVal = Validate(); >>> >>> if (RetVal) >>> { >>> string ProcName = string.Empty; >>> >>> SqlParameter pAddressKey = new SqlParameter("@AddressKey", 0); >>> >>> if (this.RecordId == 0) >>> { >>> pAddressKey.Direction = ParameterDirection.Output; >>> ProcName = "wit_AddAddress"; >>> } >>> else >>> { >>> >>> pAddressKey.Value = this.RecordId; >>> ProcName = "wit_UpdateAddress"; >>> } >>> >>> SqlParameter pAddressTypeKey = new SqlParameter("@AddressTypeKey",_AddressTypeKey); >>> SqlParameter pStreet1 = new SqlParameter("@Street1", _Street1); >>> SqlParameter pStreet2 = new SqlParameter("@Street2", _Street2); >>> SqlParameter pCity = new SqlParameter("@City", _City); >>> SqlParameter pState = new SqlParameter("@State", _State); >>> SqlParameter pPostalCode = new SqlParameter("@PostalCode", _PostalCode); >>> >>> ArrayList colParams = new ArrayList(); >>> colParams.Add(pAddressKey); >>> colParams.Add(pAddressTypeKey); >>> colParams.Add(pStreet1); >>> colParams.Add(pStreet2); >>> colParams.Add(pCity); >>> colParams.Add(pState); >>> colParams.Add(pPostalCode); >>> >>> AppDataAccess.ExecuteNonQuery(ProcName, colParams); >>> >>> if (AppDataAccess.DataException == null) >>> { >>> >>> if (pAddressKey.Direction == ParameterDirection.Output) >>> { >>> this.RecordId = Convert.ToInt32(pAddressKey.Value); >>> } >>> } >>> else >>> { >>> throw AppDataAccess.DataException; >>> } >>> } >>> >>> return RetVal; >>>} >>>>>>