Foros del Web » Programando para Internet » ASPX (.net) »

Error al Ejecutar Insert en Aspx

Estas en el tema de Error al Ejecutar Insert en Aspx en el foro de ASPX (.net) en Foros del Web. Buenas tardes estoy intentando realizar un insert a una base de dato de SQL Server, en el momento de ejecutar mi procedimiento me genera el ...
  #1 (permalink)  
Antiguo 02/01/2008, 13:36
Avatar de minguet1210  
Fecha de Ingreso: abril-2004
Ubicación: TEXAS
Mensajes: 47
Antigüedad: 20 años
Puntos: 0
Pregunta Error al Ejecutar Insert en Aspx

Buenas tardes estoy intentando realizar un insert a una base de dato de SQL Server, en el momento de ejecutar mi procedimiento me genera el siguiente error:

System.Data.SqlClient.SqlException: Cannot insert duplicate key row in object 'dbo.TblSystems' with unique index 'SystemID'. The statement has been terminated. en System.Data.SqlClient.SqlConnection.OnError(SqlExc eption exception, Boolean breakConnection) en System.Data.SqlClient.SqlInternalConnection.OnErro r(SqlException exception, Boolean breakConnection) en System.Data.SqlClient.TdsParser.ThrowExceptionAndW arning(TdsParserStateObject stateObj) en System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) en System.Data.SqlClient.SqlCommand.RunExecuteNonQuer yTds(String methodName, Boolean async) en System.Data.SqlClient.SqlCommand.InternalExecuteNo nQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) en System.Data.SqlClient.SqlCommand.ExecuteNonQuery() en dbOperations.InsertFields() en C:\Inetpub\wwwroot\test\App_Code\dbOperations.vb:l ínea 147

Pero el registro se carga ya que no hay duplicidad de clave.

Si corro el mismo strip por consola de SQL Server no da Problema.
Por lo tanto creo que es la manera como llamo mi procedimiento de insertar.


Este es el codigo

Public Function InsertFields() As Boolean
Dim oCon As New System.Data.SqlClient.SqlConnection(Me.GetStringCo nection.ConnectionString)
Dim myCommand As SqlCommand = New SqlCommand()
Dim myTrans As SqlTransaction
Dim success As Boolean

oCon.Open()
myCommand.Connection = oCon
myTrans = oCon.BeginTransaction()
myCommand.Transaction = myTrans

Try
myCommand.CommandText = Me.INSERT_COMMAND.CommandText
myCommand.ExecuteNonQuery() ´linea 147
myTrans.Commit()
success = True
Catch ex As Exception
myTrans.Rollback()
Me._ERROR = ex.ToString
success = False
Finally
oCon.Close()
End Try
Return success

End Function

‘--------------------------------
Protected Sub cmdInsertar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdInsertar.Click
GenerarConexiones()
Dim sql As String
Dim checkVa As Integer = 0
If Me.CheckSelect.Checked Then
checkVa = 1
End If
sql = "INSERT INTO dbo.TblSystems(SystemID, SystemDescrip, [SystClassN°], SelectSys) VALUES('" + _
Me.txtSistema.Text + "','" + Me.txtDecripcion.Text + "'," + Me.DropClasf.SelectedValue + "," + checkVa.ToString + ");"

Dim _insert As New System.Data.SqlClient.SqlCommand(sql)
oCon.INSERT_COMMAND = _insert
Dim status As Boolean = oCon.InsertFields()
If status = True Then
Me.mens.Text = "Registro Ingresado con exito"
Else
Me.mens.Text = "No se Ingreso el Regitro Error: " + oCon._ERROR
End If

End Sub


Si alquien me puede ayudar se lo agradesco.
__________________
MF.
  #2 (permalink)  
Antiguo 02/01/2008, 13:44
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 3 meses
Puntos: 98
Re: Error al Ejecutar Insert en Aspx

El error te dice que estás intentando insertar un valor en tu campo llave que ya existe, por lo tanto no pueden existir duplicados.

Te muevo para .NET

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 02/01/2008, 14:05
Avatar de minguet1210  
Fecha de Ingreso: abril-2004
Ubicación: TEXAS
Mensajes: 47
Antigüedad: 20 años
Puntos: 0
Re: Error al Ejecutar Insert en Aspx

Entiendo lo que me dice pero en realidad ahí esta el Error el registro no existe en la Base de dato.
__________________
MF.
  #4 (permalink)  
Antiguo 02/01/2008, 15:00
Avatar de minguet1210  
Fecha de Ingreso: abril-2004
Ubicación: TEXAS
Mensajes: 47
Antigüedad: 20 años
Puntos: 0
Re: Error al Ejecutar Insert en Aspx

Entiendo lo que me dice pero en realidad ahí esta el Error el registro no existe en la Base de dato.
__________________
MF.
  #5 (permalink)  
Antiguo 02/01/2008, 16:04
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: Error al Ejecutar Insert en Aspx

Tu codigo me marea un poco pero cada maestro con su librito no jejje
Preguntas:
No estaras ejecuntando dos veces el evento?
Nunca llega a insertar algun registro?, lo intentaste con la tabla vacia?
Tu Id es de tipo string? no seria mejor utilizar numerico?

Saludos y contanos mas a ver si podemos ayudar.
  #6 (permalink)  
Antiguo 03/01/2008, 06:50
Avatar de minguet1210  
Fecha de Ingreso: abril-2004
Ubicación: TEXAS
Mensajes: 47
Antigüedad: 20 años
Puntos: 0
Re: Error al Ejecutar Insert en Aspx

Gracia men tenias razón no me había percatado que el evento se estaba ejecutando dos veces; Tengo estas funciones de esta manera ya que estoy realizando una clase para realizar las operaciones basica con la base de Dato.

Una vez terminada la coloco en el Foro.
__________________
MF.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:18.