Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2013, 12:58
heruxz
 
Fecha de Ingreso: noviembre-2012
Ubicación: caracas
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 0
Evitar la duplicidad de datos en la BD

Hola a todos,

Estoy trabajando en .net y tengo problema con la duplicidad de los datos... es decir necesito que si un registro ya esta guardado no lo vuelva a almacenar pero que tome el id que use este para guardarlo en la otra tabla algo como esto:

..............Clientes............................ ..............Producto...............
Id_C...............Nombre........Id_P............. .........Id_P.........Nombre
1....................Carlos.............1......... ..................1............Pera
2....................Pedro..............1......... ...................2..........Manzana
3....................Juan................2
4....................Ramon.............1
5....................Luis..................2
6....................Carlos..............2

Como se ve en el ejemplo anterior el Id_p se toma para almacenarlo en el nombre de los clientes que lo compraron...

Imagino que en codigo puede ser algo como esto pero no me corre bien:

Código vb:
Ver original
  1. 'INSERT PARA LA TABLA ORDENANTES
  2.                Dim queryOrdenantes As String = "INSERT INTO ordenantes (nombre_ordenante) " & _
  3.                                         "VALUES (@nombreord)" & _
  4.                                         ";SELECT LAST_INSERT_ID();"
  5.                 Dim id_ordenante As Integer = 0
  6.                 If "@nombreord" = 0 Then
  7.                     Using cmd As New MySqlCommand(queryOrdenantes, cn)
  8.                         cmd.Transaction = myTrans
  9.                         cmd.Parameters.AddWithValue("@nombreord", txtOrdenante.Text)
  10.                         id_ordenante = Convert.ToInt32(cmd.ExecuteScalar())
  11.                     End Using
  12.                 Else
  13.                     Dim queryOrdenantesrep As String = " INSERT INTO Detalle id_ordenante values @id_repetido"
  14.                     Using cmd As New MySqlCommand(queryOrdenantes, cn)
  15.                         cmd.Transaction = myTrans
  16.                         cmd.Parameters.AddWithValue("@id_repetido", id_ordenante)
  17.                     End Using
  18.                 End If