TABLECREATE TABLE [dbo].[HelpItems] ( [ItemID] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL , [ShortName] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [ParentID] [int] NULL , [menu_order] [int] NULL , [FeatureToken] [char] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [hidden] [bit] NULL , [Name] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Title] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [XMLText] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GOALTER TABLE [dbo].[HelpItems] WITH NOCHECK ADD CONSTRAINT [PK_HelpItems] PRIMARY KEY NONCLUSTERED ( [ItemID] ) ON [PRIMARY] GOALTER TABLE [dbo].[HelpItems] ADD CONSTRAINT [FK_HelpItems_HelpItems] FOREIGN KEY ( [ParentID] ) REFERENCES [dbo].[HelpItems] ( [ItemID] )GO
I have looked over this for an hour, even with another developer, and we do not notice anything wrong with the code.CREATE Procedure sp_CreateNewHelpItem(@ShortName varchar(255),@ParentID integer,@MenuOrder integer,@FeatureToken char(15),@Hidden bit,@Name varchar(50),@Title varchar(100),@XMLText as text,@ItemID integer OUTPUT)ASIF @ParentID = 0 SELECT @ParentID = NULLINSERT INTO HelpItems (ShortName, ParentID, Menu_Order, FeatureToken, Hidden, Name, Title, XMLText)VALUES (@ShortName, @ParentID, @MenuOrder, @FeatureToken, @Hidden, @Name, @Title, @XMLText)SELECT @ItemID = SCOPE_IDENTITY() RETURN 1GO
code that calls it is VB COMDim DBConnection As Connection, cmd As Command Set DBConnection = New Connection DBConnection.Open DBConns.Item("DB").DBConn Set cmd = New Command cmd.CommandType = adCmdStoredProc cmd.ActiveConnection = DBConnection cmd.CommandText = "sp_CreateNewHelpItem" cmd.Parameters.Append cmd.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue) cmd.Parameters.Append cmd.CreateParameter("@ShortName", adVarChar, adParamInput, 25) cmd.Parameters.Append cmd.CreateParameter("@ParentID", adInteger, adParamInput) cmd.Parameters.Append cmd.CreateParameter("@MenuOrder", adInteger, adParamInput) cmd.Parameters.Append cmd.CreateParameter("@FeatureToken", adChar, adParamInput, 15) cmd.Parameters.Append cmd.CreateParameter("@Hidden", adBoolean, adParamInput) cmd.Parameters.Append cmd.CreateParameter("@Name", adVarChar, adParamInput, 50) cmd.Parameters.Append cmd.CreateParameter("@Title", adVarChar, adParamInput, 100) cmd.Parameters.Append cmd.CreateParameter("@XMLText", adLongVarChar, adParamInput, 40000) cmd.Parameters.Append cmd.CreateParameter("@ItemID", adInteger, adParamOutput) cmd.Parameters("@ShortName") = ShortName cmd.Parameters("@MenuOrder") = Order cmd.Parameters("@FeatureToken") = FeatureToken cmd.Parameters("@ParentID") = ParentID cmd.Parameters("@Hidden") = Hidden cmd.Parameters("@Name") = Name cmd.Parameters("@Title") = Title cmd.Parameters("@XMLText") = XMLText cmd.Execute If cmd.Parameters("RETURN_VALUE") = 1 Then NextHelpItemID = cmd.Parameters("@ItemID").Value //here is where the weird identity is returned Else NextHelpItemID = 0 End If Set cmd = Nothing DBConnection.Close Set DBConnection = NothingGot SQL?