Error en Identity_Insert
Publicado por Miguel (281 intervenciones) el 18/10/2020 21:32:10
Hola puede alguien ayudarme con este error que tengo en un formulario al Insertar un registro.
"solo puede especificarse un valor explicito para la columna de Identidad de una tabla cuando se usa una lista de columnas e IDENTITY_INSERT es ON.
La función para Insertar es esta.
Este problema lo tengo a raíz de haber tenido que rehacer toda la tabla. Pero revisadas la tabla varias veces no veo ningún error al menos que yo sea consciente del mismo. De todas formas tengo diez tablas más y en ninguna otra me da problema.
Gracias
"solo puede especificarse un valor explicito para la columna de Identidad de una tabla cuando se usa una lista de columnas e IDENTITY_INSERT es ON.
La función para Insertar es esta.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Public Function InsertaObra(nuevaObra As Obra, eCaja As Caja, Pxp As PagosPendientes) As Boolean
Dim Result As Boolean = False
Try
Dim sql As String
Dim param As New DynamicParameters()
Using T As TransactionScope = New TransactionScope()
Using Conn = New SqlConnection(Conexion.ConnectionString)
Conn.Open()
param.Add("@IdCliente", nuevaObra.IdCliente, dbType:=DbType.Int32)
param.Add("@Factura", nuevaObra.Factura, dbType:=DbType.String)
param.Add("@IdEmpresa", nuevaObra.IdEmpresa, dbType:=DbType.Int32)
param.Add("@DetalleObra", nuevaObra.DetalleObra, dbType:=DbType.String)
param.Add("@Aceptado", nuevaObra.Aceptado, dbType:=DbType.Date)
param.Add("@FormaPago", nuevaObra.FormaPago, dbType:=DbType.String)
param.Add("@Iva", nuevaObra.Iva, dbType:=DbType.Int16)
param.Add("@MaxContado", nuevaObra.MaxContado, dbType:=DbType.Int32)
param.Add("@Total", nuevaObra.Total, dbType:=DbType.Decimal)
param.Add("@EstadoObra", nuevaObra.EstadoObra, dbType:=DbType.String)
param.Add("@IdProv", nuevaObra.IdProv, dbType:=DbType.Int16)
param.Add("@IdCp", nuevaObra.IdCp, dbType:=DbType.Int32)
param.Add("@IdCalle", nuevaObra.IdCalle, dbType:=DbType.Int32)
sql = "INSERT INTO Obras VALUES(@IdCliente,@Factura,@IdEmpresa,@DetalleObra,@Aceptado,@FormaPago,@Iva,@MaxContado,@Total,@EstadoObra,@IdProv,@IdCp,@IdCalle)"
Dim OkObra = Conn.Execute(sql, param, commandType:=CommandType.Text)
If OkObra = 0 Then
T.Dispose()
Throw New Exception("Error al insertar la obra")
End If
End Function
Este problema lo tengo a raíz de haber tenido que rehacer toda la tabla. Pero revisadas la tabla varias veces no veo ningún error al menos que yo sea consciente del mismo. De todas formas tengo diez tablas más y en ninguna otra me da problema.
Gracias
Valora esta pregunta


0