Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemas con un insert anidado con .Net 2004 y MySQL

Estas en el tema de Problemas con un insert anidado con .Net 2004 y MySQL en el foro de .NET en Foros del Web. Tengo una tabla llamada despachosprod_ok y otra llamada despachosprod_sincancelar La estructura de la despachosprod_ok es: numeroDespacho, duiEmpleado, codigoProducto, detalleProducto, precioProducto, cantidadProducto, duiCliente, nitCliente La estructura ...
  #1 (permalink)  
Antiguo 15/11/2010, 12:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 122
Antigüedad: 16 años, 1 mes
Puntos: 7
Mensaje Problemas con un insert anidado con .Net 2004 y MySQL

Tengo una tabla llamada despachosprod_ok y otra llamada despachosprod_sincancelar

La estructura de la despachosprod_ok es:

numeroDespacho, duiEmpleado, codigoProducto, detalleProducto, precioProducto, cantidadProducto, duiCliente, nitCliente

La estructura de la despachosprod_sincancelar es:

numeroDespacho, duiEmpleado, codigoProducto, detalleProducto, precioProducto, cantidadProducto

y tienen los mismos tipos de datos pero si se fijan tienen una diferencia que es que la tabla despachosprod_ok tiene una columna mas que es duiCliente

y este dato más que tengo que insertar en despachosprod_ok solo los tengo en uno text en pantalla en el momento de realizar la transacción.


La consulta que tesgo es
ssqlInsert2 = "Insert Into despachosprod_ok(numeroDespacho, duiEmpleado, codigoProducto, detalleProducto, precioProducto, cantidadProducto, duiCliente, nitCliente) Select(Select numeroDespacho, duiEmpleado, codigoProducto, detalleProducto, precioProducto, cantidadProducto From despachosprod_sincancelar WHERE duiEmpleado = '" & Me.txt_duiEmple.Text & "'), '" & Me.txt_duiCliente.Text & "'"
  #2 (permalink)  
Antiguo 15/11/2010, 13:25
 
Fecha de Ingreso: marzo-2006
Mensajes: 4
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Problemas con un insert anidado con .Net 2004 y MySQL

Y cual es el problemas que tienes?
  #3 (permalink)  
Antiguo 15/11/2010, 13:49
 
Fecha de Ingreso: octubre-2008
Mensajes: 122
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: Problemas con un insert anidado con .Net 2004 y MySQL

perdón aparte de poner Net 2004 y es 2005, aparte el error es que no me inserta y me envía el siguiente mensaje de error.



luego investigando vi, que solo permitía un solo registro adicional pero nada y también me da este error la verdad ya no tengo ni idea


Última edición por dubiweb; 15/11/2010 a las 13:54
  #4 (permalink)  
Antiguo 16/11/2010, 14:47
 
Fecha de Ingreso: marzo-2006
Mensajes: 4
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Problemas con un insert anidado con .Net 2004 y MySQL

No se entiende bien el error, pero por lo que puedo comprender o estas introduciendo un valor en un campo auto numérico o estas tratando de insertar un valor alfanumérico en un campo numérico, por lo general, cuando se tienen tablas de este tipo, que no es común, el campo índice, que es autogenerado en la tabla maestro, no puede ser autogenerado en la otra tabla, ya que eso no te permitiría llevar una relación entre ambas a menos que utilices una tabla adicional (tabla de relación). Además si lo que quieres es llevar un control de despacho, la condición de select que estas introduciendo debe ser por numero de despacho para que te traigas in solo registro.

Si me permites un concejo, esto podrías hacerlo de dos maneras:

1.- Dejando una tabla y dejando toda la información en esta y colocando un campo adicional para controlar el estatus del despacho (por ejempla “sin despachar”, “en proceso de despacho”, “despachado ok”, etc.), claro los tipos de estatus los tienes en otra tabla, pero es una tabla muy pequeña y te ahorrarías duplicar la data que en algún momento del ciclo de vida de tu sistema podría quedarte inconsistente y ganas espacio en el repositorio de datos, de la siguiente manera:
numeroDespacho, duiEmpleado, codigoProducto, detalleProducto, precioProducto, cantidadProducto, duiCliente, nitCliente, estatus_despacho
2.- Puedes dejar una tabla con la información general que va a ser donde primero lleguen tus datos ejemplo:
numeroDespacho, duiEmpleado, codigoProducto, detalleProducto, precioProducto, cantidadProducto
y otro donde insertes la información complementaria relacionada con el despacho, ejemplo:
numeroDespacho, duiEmpleado, duiCliente, nitCliente
en esta tabla irán los despachos ok y se incluye el campo duiEmpleado, solo si el empleado que hace el despacho no es el mismo que el que lo genera y tomando en cuenta que ningún campo de esta tabla puede ser autogenerado para poderla relacionar.

Espero haberte sido útin

Suerte
  #5 (permalink)  
Antiguo 16/11/2010, 15:10
 
Fecha de Ingreso: octubre-2008
Mensajes: 122
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: Problemas con un insert anidado con .Net 2004 y MySQL

solucionado asi me quedo la consulta.

Cita:
Dim ssqlInsert2 As String
ssqlInsert2 = "Insert Into despachosprod_ok(numeroDespacho, duiEmpleado, codigoProducto, detalleProducto, precioProducto, cantidadProducto, duiCliente) (Select numeroDespacho, duiEmpleado, codigoProducto, detalleProducto, precioProducto, cantidadProducto, '{0}' From despachosprod_sincancelar WHERE duiEmpleado = '" & Me.txt_duiEmple.Text & "')"
ssqlInsert2 = ssqlInsert2.Replace("{0}", Me.txt_duiCliente.Text)

y gracias por la ayuda a todos, y amigo Melquiade buen analisis lo tamare muy en cuenta

Etiquetas: insert, mysql, anidados
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 05:14.