locked
agregar registros con autoincremento en columna IDENTITY

    Question

  • estoy queriendo agregar registros a la basa de datos, con el metodo newrow. En la base de datos de sql 2005, tengo el campo Codigo de tip INT,  en cual lo he configurado para que se autoincremente.
    El problema es que cuando crea la fila y guardo los cambios, no se puede autoincrementar solo.
    Hagien me podria decir como hacer para que agregue los datos q necesito y la columna CODIGO se autoincremente sola, segun la cantidad de registro q ingreso

    desde ya muchas gracias!!!

    USE

     

    [GestionDb]

     

    /****** Objeto: Table [dbo].[FacturaBDb] Fecha de la secuencia de comandos: 08/22/2009 15:36:13 ******/

    SET

     

    ANSI_NULLS ON

    GO

    SET

     

    QUOTED_IDENTIFIER ON

    GO

    CREATE

     

    TABLE [dbo].[FacturaBDb](

    [codigo] [int]

    IDENTITY(1,1) NOT NULL,

    [Numerofactura] [numeric]

    (18, 0) NULL,

    [Articulos] [nchar]

    (10) NULL,

    [Cantidad] [numeric]

    (18, 0) NULL,

    [Precio] [numeric]

    (18, 2) NULL,

    [Subtotal] [numeric]

    (18, 2) NULL,

     

    CONSTRAINT [PK_FacturaBDb] PRIMARY KEY CLUSTERED

    (

    [codigo]

    ASC

    )

     

    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

    )

     

    ON [PRIMARY]

    GO

    Saturday, August 22, 2009 6:21 PM

Answers

  •  

    cargo la el datasource y me voy al ultimo registro, donde el campo codigo es de tipo INT, y autoincrementable

    Dim
     variable As DataRow = DbDataSet.Tables("tabla").NewRow()

     

    Me.DbDataSet.tabla.CodigoColumn.AutoIncrementSeed = 1

    variable(

    "campo1") = DniMaskedTextBox.Text

    variable(

    "campo2") = CuitTextBox.Text

    variable(

    "campo3") = ApellidoTextBox.Text

     

    DbDataSet.Tables("tabla").Rows.Add(variable)

    • Marked as answer by Gandur Facundo Friday, September 04, 2009 11:18 PM
    Friday, September 04, 2009 11:17 PM

All replies

  • Hola.

    ¿Puedes generar un script de la tabla (con Management Studio, por ejemplo) y pasárnoslo? Si le marcaste la propiedad Identity, debería incrementarse.

    Alberto López Grande.
    Saturday, August 22, 2009 6:28 PM
    Moderator
  • USE

     

    [GestionDb]

    GO

    /****** Objeto: Table [dbo].[FacturaBDb] Fecha de la secuencia de comandos: 08/22/2009 15:36:13 ******/

    SET

     

    ANSI_NULLS ON

    GO

    SET

     

    QUOTED_IDENTIFIER ON

    GO

    CREATE

     

    TABLE [dbo].[FacturaBDb](

    [codigo] [int]

    IDENTITY(1,1) NOT NULL,

    [Numerofactura] [numeric]

    (18, 0) NULL,

    [Articulos] [nchar]

    (10) NULL,

    [Cantidad] [numeric]

    (18, 0) NULL,

    [Precio] [numeric]

    (18, 2) NULL,

    [Subtotal] [numeric]

    (18, 2) NULL,

     

    CONSTRAINT [PK_FacturaBDb] PRIMARY KEY CLUSTERED

    (

    [codigo]

    ASC

    )

     

    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

    )

     

    ON [PRIMARY]

    Saturday, August 22, 2009 6:47 PM
  • Hola.

    La tabla está bien. ¿Puedes poner el mensaje de error completo que recibes?

    Alberto López Grande.
    Saturday, August 22, 2009 6:55 PM
    Moderator
  •  

    cargo la el datasource y me voy al ultimo registro, donde el campo codigo es de tipo INT, y autoincrementable

    Dim
     variable As DataRow = DbDataSet.Tables("tabla").NewRow()

     

    Me.DbDataSet.tabla.CodigoColumn.AutoIncrementSeed = 1

    variable(

    "campo1") = DniMaskedTextBox.Text

    variable(

    "campo2") = CuitTextBox.Text

    variable(

    "campo3") = ApellidoTextBox.Text

     

    DbDataSet.Tables("tabla").Rows.Add(variable)

    • Marked as answer by Gandur Facundo Friday, September 04, 2009 11:18 PM
    Friday, September 04, 2009 11:17 PM