Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2009, 20:33
Avatar de jsr_17_7
jsr_17_7
 
Fecha de Ingreso: febrero-2009
Ubicación: Lima
Mensajes: 105
Antigüedad: 15 años, 3 meses
Puntos: 0
Error de Insertar

Gente...!!!!
Una ayuda...!!!
quiero insertar datos en mi bd a traves de SP... sucede que a la hora de guardar los datos me envia un msj diciendo que la PK esta siendo duplicada, pero al final me inserta los datos... no entiendo como sucede esto pero x favor ayudenme para k no me salga ese mensaje...!!!... este s mi codigo...
he verificado en mi bd y el codigo no es duplicado...es uno nuevo pero manda el msj de error pero al final lo inserta


----------------- esto me atugenera el codigo --------------------
cn.Open()
cmd.CommandText = "select max(CPAS_CODIGO)from PASAJERO"
TxtCod_Pasajero.Text = (cmd.ExecuteScalar + 1).ToString
cn.Close()

----------------- aca le envio los valores a los parametros y ejecuto ----------------

Dim p1, p2, p3 As SqlParameter
Try
da_pas.SelectCommand = New SqlCommand
da_pas.SelectCommand.Connection() = cn
da_pas.SelectCommand.CommandText = "ALMACENA_PASAJERO"
da_pas.SelectCommand.CommandType = CommandType.StoredProcedure

p1 = New SqlParameter("@CPAS_CODIGO", SqlDbType.Char, 10)
p1.Direction = ParameterDirection.Input
p1.Value = Me.TxtCod_Pasajero.Text

p2 = New SqlParameter("@VPAS_NACIONALIDAD", SqlDbType.NVarChar, 50)
p2.Direction = ParameterDirection.Input
p2.Value = Me.TxtNac_pas.Text

p3 = New SqlParameter("@CTD_CODIGO", SqlDbType.NChar, 3)
p3.Direction = ParameterDirection.Input
p3.Value = Me.CmbDoc_pas.SelectedValue

da_pas.SelectCommand.Parameters.Add(p1)
da_pas.SelectCommand.Parameters.Add(p2)
da_pas.SelectCommand.Parameters.Add(p3)

ds_pas.Clear()
da_pas.Fill(ds_pas, "TPasajero") ----- aca termina todo y luego me envia el msj diciendo k se esta duplicando la PK Filas_Afectadas = da_pas.SelectCommand.ExecuteNonQuery()
If (Filas_Afectadas <> 0) Then
MsgBox("Los Datos han sido Almacenados", MsgBoxStyle.Information, "Almacenar")
End If
Catch ex As Exception
MessageBox.Show("ERROR en SP_ALMACENAR_PASAJERO" & ex.Message) ------------ aca envia el msj End Try
cn.Close()