Enterprise Lib 2.0 og OUTPUT value
HejJeg anvender i mine DAL's Ent Lib 2.0.
Jeg har en metode som indstter noget data i en db. tabel, hvor jeg forventer en retur vrdi i form af en integer som skulle vre det ID der er indsat i tabellen.
Men det returnere null uanset hvad. Nogen der kan se hvad jeg gr galt?
Pseudo:
_____________________________________________________
DAL metode
Public Function Insert_UserProfile(ByVal profile As Entities.ProfileEntity) As Integer
Dim db As Database = DatabaseFactory.CreateDatabase()
Dim dbCommand As DbCommand = db.GetStoredProcCommand(CN_STR_INSERT_InsertUserProfile)
'
' input params
'
db.AddInParameter(dbCommand, CN_STR_FIELD_Firstname, DbType.String, profile.Firstname)
db.AddInParameter(dbCommand, CN_STR_FIELD_Lastname, DbType.String, profile.Lastname)
'
' output params
'
db.AddOutParameter(dbCommand, CN_STR_FIELD_UserProfileID, DbType.Int32, 4)
Try
'
'execute dbCommand and insert
'
db.ExecuteScalar(dbCommand)
'
'return output id
'
Return CType(db.GetParameterValue(dbCommand, CN_STR_FIELD_UserProfileID), Integer)
'
Catch ex As SqlException
Utils.EventLogUtils.EventLogEntry(ex)
Catch ex As Exception
Utils.EventLogUtils.EventLogEntry(ex.ToString)
End Try
End Function
__________________________________________________________
T-SQL
____________________________________________________________
ALTER PROCEDURE [dbo].[InsertUserProfile]
(
@UserProfileID INT OUTPUT,
@Firstname VARCHAR(100),
@Lastname VARCHAR(100),
)
AS
BEGIN
SET NOCOUNT ON
INSERT INTO tblUser_Profile
(Firstname, Lastname)
VALUES
(@Firstname, @Lastname)
SELECT @UserProfileID = SCOPE_IDENTITY()
RETURN @UserProfileID
END
______________________________________________
Hber at høre fra jer
mvh
techie3
