none
método modificar RRS feed

  • Pregunta

  •  

    private void button5_Click_1(object sender, EventArgs e) { conexionbd conexion = new conexionbd(); conexion.abrir(); String connstring = "Data Source=PRACTICANTETI; Initial Catalog=Bascula3 ;Integrated Security=True"; using (SqlConnection conectarbd = new SqlConnection(connstring)) { conectarbd.Open(); string query; query = "UPDATE Entrada set Lote= @Lote, AvisoEmbarque= @AvisoEmbarque Contrato= @Contrato where Folio = @Folio "; /* query = "UPDATE Camion set PlacasCaja = @PlacasCaja, Modelo= @Modelo, NumeroEco=@NumeroEco, Placas= @Placas, Color=@Color, Transportadora=@Transportadora where Marca=@Marca "; query = "UPDATE Operadores set "; query = "UPDATE Proveedores set Concepto = @Concepto where Provee=@Provee"; query = "UPDATE Productos set Tipo= @Tipo, NTipo=@NTipo, Observaciones= @Observaciones where Producto = @Producto";*/ SqlCommand cmd = new SqlCommand(query, conectarbd); //entrada cmd.Parameters.AddWithValue("@Lote", loten.Text); cmd.Parameters.AddWithValue("@Folio", folioen.Text); cmd.Parameters.AddWithValue("@AvisoEmbarque", aviso.Text); cmd.Parameters.AddWithValue("@Contrato", contra.Text); //camion /*cmd.Parameters.AddWithValue("@Marca", marca.Text); cmd.Parameters.AddWithValue("@PlacasCaja", placaca.Text); cmd.Parameters.AddWithValue("@Modelo", modelo.Text); cmd.Parameters.AddWithValue("@NumeroEco", nume.Text); cmd.Parameters.AddWithValue("@Placas", placas.Text); cmd.Parameters.AddWithValue("@Color", color.Text); cmd.Parameters.AddWithValue("@Transportadora", trans.Text); //proveedor cmd.Parameters.AddWithValue("@Provee", provergi.Text); cmd.Parameters.AddWithValue("@Concepto", concepregis.Text); //producto cmd.Parameters.AddWithValue("@Producto", produc.Text); cmd.Parameters.AddWithValue("@Tipo", protipo.Text); cmd.Parameters.AddWithValue("@NTipo", numt.Text); cmd.Parameters.AddWithValue("@Observaciones", observa.Text); SqlDataReader leer = cmd.ExecuteReader();*/ if (leer.Read() == false) { MessageBox.Show("Datos Modificados Correctamente", "Se modifico la base de datos", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } else { MessageBox.Show("Los datos no se modificaron", "Error del sistema", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }

    Tengo este código para modificar datos, me funciona bien si lo hago tabla por tabla, pero necesito que sea en todas al mismo tiempo, alguien sabe que puedo hacer en este caso?

    martes, 18 de febrero de 2020 20:57

Respuestas

  • Si su motor de base de datos fuera SQL Server, le sugiero que haga un PROCEDIMIENTO y ejecute este, con las instrucciones necesarias.

    IIslas Master Consultant SQL Server

    • Marcado como respuesta Katsa martes, 18 de febrero de 2020 22:25
    • Desmarcado como respuesta Katsa martes, 18 de febrero de 2020 22:25
    • Marcado como respuesta Katsa martes, 18 de febrero de 2020 22:30
    martes, 18 de febrero de 2020 22:19
  • Hola Katsa:

    Si lo creas con un procedure tal que

    create procedure modificarPlacas (
    				@Lote varchar(1000),
                    @Folio varchar(1000),
                    @AvisoEmbarque varchar(1000),
                    @Contrato varchar(1000),
                    
                    @Marca varchar(1000),
                    @PlacasCaja varchar(1000),
                    @Modelo varchar(1000),
                    @NumeroEco varchar(1000),
                    @Placas varchar(1000),
                    @Color varchar(1000),
                    @Transportadora varchar(1000),
                    
                    @Provee varchar(1000),
                    @Concepto varchar(1000),
                    
    				@Producto varchar(1000),
                    @Tipo varchar(1000),
                    @NTipo varchar(100),
                    @Observaciones varchar(1000)
    				)
    as
    begin
    	
    	  UPDATE Entrada set Lote= @Lote, AvisoEmbarque= @AvisoEmbarque, Contrato= @Contrato where Folio = @Folio;
          UPDATE Camion set PlacasCaja = @PlacasCaja, Modelo= @Modelo, NumeroEco=@NumeroEco, Placas= @Placas, 
    	  Color=@Color, Transportadora=@Transportadora where Marca=@Marca;
        --  UPDATE Operadores set ---- aqui te falta la parte de la update
          UPDATE Proveedores set Concepto = @Concepto where Provee=@Provee;
          UPDATE Productos set Tipo= @Tipo, NTipo=@NTipo, Observaciones= @Observaciones where Producto = @Producto;
    end
    

    Solo tienes que invocar una vez al procedure.

    Nota revisa la update de entrada, porque falta una coma antes de Contrato.

    Y la update de operadores no contiene que va a updatear.

    Yo he puesto en el procedure los parámetros de un tamaño y tipo genérico. Esto debería de ser como serán en la base de datos las columnas a las que van a actualizar.

                SqlConnection sqlcon = new SqlConnection();
    
                var ConnectionString = @"Data Source = elSERVER; Initial Catalog = laBBDD; Integrated Security = True";
    
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    SqlCommand SqlCmd = new SqlCommand("nombreProcedure", conn);
                    SqlCmd.CommandType = CommandType.StoredProcedure;
                    SqlCmd.Parameters.AddWithValue("@Lote", .....);
    // y el resto de parámetros
               
                    try
                    {
                        conn.Open();
                        SqlCmd.ExecuteNonQuery() ;
                    }
                    catch (Exception ex)
                    {
                        //loguear el error
                    }
    
                }

    • Marcado como respuesta Katsa miércoles, 19 de febrero de 2020 16:39
    miércoles, 19 de febrero de 2020 6:00
  • Muchas gracias, lo haré de esa manera, y si aun no contiene nada el de operadores, estoy componiendo todo el programa y hay cosas que faltan. ¿Me podrá ayudar con el método de insertar también?

    Le adjunto el código aquí

    Mi problema es que la persona que había hecho el programa anteriormente puso muchos botones para un solo formulario, y yo quiero que inserte mediante un solo botón, ya lo hace pero me manda muchos mensajes de que ya inserto en la base de datos y solo quiero que mande uno, pero al intentar que mande un mensaje solo toma la consulta en la que pongo esta linea de código:  conectarbd.Ejecutar(consulta);

      conectarbd.abrir();
                    consulta = "INSERT INTO Entrada (Folio,Lote,AvisoEmbarque,Contrato) values (" + Convert.ToInt32(folioen.Text) + ",'" + loten.Text + "'," + Convert.ToInt32(aviso.Text) + "," + Convert.ToInt32(contra.Text) + ");";
                    conectarbd.Ejecutar(consulta);
                    consulta = "INSERT INTO Operadores (Nombre) values('" + textope.Text + "');";
                    conectarbd.Ejecutar(consulta);
                    consulta = "INSERT INTO Camion (Marca, Modelo, Placas, Color,NumeroEco, PlacasCaja, Transportadora) values ('" + marca.Text + "','" + (modelo.Text) + "','" + (placas.Text) + "','" + color.Text + "','" + (nume.Text) + "','" + (placaca.Text) + "','" + trans.Text + "');";
                    conectarbd.Ejecutar(consulta);
                    consulta = "INSERT INTO Proveedores (Provee,Concepto) values ('" + provergi.Text + "', '" + concepregis.Text + "');";
                    conectarbd.Ejecutar(consulta);
                    consulta = "INSERT INTO Productos(Producto,Tipo,NTipo,Observaciones)values('" + produc.Text + "','" + protipo.Text + "'," + Convert.ToInt32(numt.Text) + ",'" + observa.Text + "');";
                    conectarbd.Ejecutar(consulta);

     
    • Marcado como respuesta Katsa miércoles, 19 de febrero de 2020 16:39
    miércoles, 19 de febrero de 2020 15:01
  • Hola Katsa: 

    Si lo haces con un procedure, el código de c# es el mismo que antes. Solo cambias el nombre del procedure.

    create procedure InsertarVarios (
    				  @Lote varchar(1000)
                    , @Folio INT
                    , @Nombre varchar(1000)
    				, @Marca varchar(1000)
    				, @Modelo varchar(1000)
    				, @Placas varchar(1000)
    				, @Color varchar(1000)
    				, @nume varchar(1000)
    				, @placaca varchar(1000)
    				, @trans varchar(1000)
    				, @contra int
    				, @aviso varchar(1000)
    				, @provergi varchar(1000)
    				, @concepregis varchar(1000)
    				, @produc varchar(1000)
    				, @protipo varchar(1000)
    				, @numt int
    				, @observa varchar(1000)
    				)
    as
    begin
    	 INSERT INTO Entrada (Folio,Lote,AvisoEmbarque,Contrato) 
    		values (@folio,@lote,@aviso,@contra);
                    
                    INSERT INTO Operadores (Nombre) values(@Nombre);
                    
                    INSERT INTO Camion (Marca, Modelo, Placas, Color,NumeroEco, PlacasCaja, Transportadora) 
    				values 
    				(@Marca,@Modelo,@Placas,@Color,@nume,@placaca,@trans);
                    
                    INSERT INTO Proveedores (Provee,Concepto) 
    				values (@provergi,@concepregis);
                    
                    INSERT INTO Productos(Producto,Tipo,NTipo,Observaciones)
    				values
    				(@produc,@protipo,@numt,@observa);
                    
    end

    Ten cuidado con los parámetros, que en el Sql yo te los he definido como algo que desconozco. No se si son varchar(1000) o nvarchar(200),.... o cualquier tipo de dato, y no se su tamaño.

    SqlConnection sqlcon = new SqlConnection();
    
                var ConnectionString = @"Data Source = elSERVER; Initial Catalog = laBBDD; Integrated Security = True";
    
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    SqlCommand SqlCmd = new SqlCommand("InsertarVarios", conn);
                    SqlCmd.CommandType = CommandType.StoredProcedure;
                    SqlCmd.Parameters.AddWithValue("@Lote", .....);
    // y el resto de parámetros
               
                    try
                    {
                        conn.Open();
                        SqlCmd.ExecuteNonQuery() ;
                    }
                    catch (Exception ex)
                    {
                        //loguear el error
                    }
    
                }


    • Marcado como respuesta Katsa miércoles, 19 de febrero de 2020 18:02
    miércoles, 19 de febrero de 2020 16:32
  • Hola Katsa:

    Según esa sentencia vas a poner en cada registro de operadores en la columna Nombre, lo que le pases como parámetro cuando nombre sea igual a lo que le pasas como parámetro.

    Por tanto no hará nada.

    Update operadores set Nombre = @Nombre Where algo que identifique los registros a cambiar

    Si solo tienes una fila en operadores entonces le quitas el where.

    Si tienes más filas, haz una select * from operadores, y busca algún criterio para determinar que filas quieres modificar.

    Si aún mantienes dudas, pega aquí lo que te devuelve la consulta, y marca de alguna manera las que quieres modificar

    • Marcado como respuesta Katsa miércoles, 19 de febrero de 2020 17:53
    miércoles, 19 de febrero de 2020 16:59

Todas las respuestas

  • Si su motor de base de datos fuera SQL Server, le sugiero que haga un PROCEDIMIENTO y ejecute este, con las instrucciones necesarias.

    IIslas Master Consultant SQL Server

    • Marcado como respuesta Katsa martes, 18 de febrero de 2020 22:25
    • Desmarcado como respuesta Katsa martes, 18 de febrero de 2020 22:25
    • Marcado como respuesta Katsa martes, 18 de febrero de 2020 22:30
    martes, 18 de febrero de 2020 22:19
  • Si estoy trabajando con SQL Server, me podría explicar mejor a que se refiere con PROCEDIMIENTO?
    martes, 18 de febrero de 2020 22:27
  • Hola Katsa:

    Si lo creas con un procedure tal que

    create procedure modificarPlacas (
    				@Lote varchar(1000),
                    @Folio varchar(1000),
                    @AvisoEmbarque varchar(1000),
                    @Contrato varchar(1000),
                    
                    @Marca varchar(1000),
                    @PlacasCaja varchar(1000),
                    @Modelo varchar(1000),
                    @NumeroEco varchar(1000),
                    @Placas varchar(1000),
                    @Color varchar(1000),
                    @Transportadora varchar(1000),
                    
                    @Provee varchar(1000),
                    @Concepto varchar(1000),
                    
    				@Producto varchar(1000),
                    @Tipo varchar(1000),
                    @NTipo varchar(100),
                    @Observaciones varchar(1000)
    				)
    as
    begin
    	
    	  UPDATE Entrada set Lote= @Lote, AvisoEmbarque= @AvisoEmbarque, Contrato= @Contrato where Folio = @Folio;
          UPDATE Camion set PlacasCaja = @PlacasCaja, Modelo= @Modelo, NumeroEco=@NumeroEco, Placas= @Placas, 
    	  Color=@Color, Transportadora=@Transportadora where Marca=@Marca;
        --  UPDATE Operadores set ---- aqui te falta la parte de la update
          UPDATE Proveedores set Concepto = @Concepto where Provee=@Provee;
          UPDATE Productos set Tipo= @Tipo, NTipo=@NTipo, Observaciones= @Observaciones where Producto = @Producto;
    end
    

    Solo tienes que invocar una vez al procedure.

    Nota revisa la update de entrada, porque falta una coma antes de Contrato.

    Y la update de operadores no contiene que va a updatear.

    Yo he puesto en el procedure los parámetros de un tamaño y tipo genérico. Esto debería de ser como serán en la base de datos las columnas a las que van a actualizar.

                SqlConnection sqlcon = new SqlConnection();
    
                var ConnectionString = @"Data Source = elSERVER; Initial Catalog = laBBDD; Integrated Security = True";
    
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    SqlCommand SqlCmd = new SqlCommand("nombreProcedure", conn);
                    SqlCmd.CommandType = CommandType.StoredProcedure;
                    SqlCmd.Parameters.AddWithValue("@Lote", .....);
    // y el resto de parámetros
               
                    try
                    {
                        conn.Open();
                        SqlCmd.ExecuteNonQuery() ;
                    }
                    catch (Exception ex)
                    {
                        //loguear el error
                    }
    
                }

    • Marcado como respuesta Katsa miércoles, 19 de febrero de 2020 16:39
    miércoles, 19 de febrero de 2020 6:00
  • Muchas gracias, lo haré de esa manera, y si aun no contiene nada el de operadores, estoy componiendo todo el programa y hay cosas que faltan. ¿Me podrá ayudar con el método de insertar también?

    Le adjunto el código aquí

    Mi problema es que la persona que había hecho el programa anteriormente puso muchos botones para un solo formulario, y yo quiero que inserte mediante un solo botón, ya lo hace pero me manda muchos mensajes de que ya inserto en la base de datos y solo quiero que mande uno, pero al intentar que mande un mensaje solo toma la consulta en la que pongo esta linea de código:  conectarbd.Ejecutar(consulta);

      conectarbd.abrir();
                    consulta = "INSERT INTO Entrada (Folio,Lote,AvisoEmbarque,Contrato) values (" + Convert.ToInt32(folioen.Text) + ",'" + loten.Text + "'," + Convert.ToInt32(aviso.Text) + "," + Convert.ToInt32(contra.Text) + ");";
                    conectarbd.Ejecutar(consulta);
                    consulta = "INSERT INTO Operadores (Nombre) values('" + textope.Text + "');";
                    conectarbd.Ejecutar(consulta);
                    consulta = "INSERT INTO Camion (Marca, Modelo, Placas, Color,NumeroEco, PlacasCaja, Transportadora) values ('" + marca.Text + "','" + (modelo.Text) + "','" + (placas.Text) + "','" + color.Text + "','" + (nume.Text) + "','" + (placaca.Text) + "','" + trans.Text + "');";
                    conectarbd.Ejecutar(consulta);
                    consulta = "INSERT INTO Proveedores (Provee,Concepto) values ('" + provergi.Text + "', '" + concepregis.Text + "');";
                    conectarbd.Ejecutar(consulta);
                    consulta = "INSERT INTO Productos(Producto,Tipo,NTipo,Observaciones)values('" + produc.Text + "','" + protipo.Text + "'," + Convert.ToInt32(numt.Text) + ",'" + observa.Text + "');";
                    conectarbd.Ejecutar(consulta);

     
    • Marcado como respuesta Katsa miércoles, 19 de febrero de 2020 16:39
    miércoles, 19 de febrero de 2020 15:01
  • Hola Katsa: 

    Si lo haces con un procedure, el código de c# es el mismo que antes. Solo cambias el nombre del procedure.

    create procedure InsertarVarios (
    				  @Lote varchar(1000)
                    , @Folio INT
                    , @Nombre varchar(1000)
    				, @Marca varchar(1000)
    				, @Modelo varchar(1000)
    				, @Placas varchar(1000)
    				, @Color varchar(1000)
    				, @nume varchar(1000)
    				, @placaca varchar(1000)
    				, @trans varchar(1000)
    				, @contra int
    				, @aviso varchar(1000)
    				, @provergi varchar(1000)
    				, @concepregis varchar(1000)
    				, @produc varchar(1000)
    				, @protipo varchar(1000)
    				, @numt int
    				, @observa varchar(1000)
    				)
    as
    begin
    	 INSERT INTO Entrada (Folio,Lote,AvisoEmbarque,Contrato) 
    		values (@folio,@lote,@aviso,@contra);
                    
                    INSERT INTO Operadores (Nombre) values(@Nombre);
                    
                    INSERT INTO Camion (Marca, Modelo, Placas, Color,NumeroEco, PlacasCaja, Transportadora) 
    				values 
    				(@Marca,@Modelo,@Placas,@Color,@nume,@placaca,@trans);
                    
                    INSERT INTO Proveedores (Provee,Concepto) 
    				values (@provergi,@concepregis);
                    
                    INSERT INTO Productos(Producto,Tipo,NTipo,Observaciones)
    				values
    				(@produc,@protipo,@numt,@observa);
                    
    end

    Ten cuidado con los parámetros, que en el Sql yo te los he definido como algo que desconozco. No se si son varchar(1000) o nvarchar(200),.... o cualquier tipo de dato, y no se su tamaño.

    SqlConnection sqlcon = new SqlConnection();
    
                var ConnectionString = @"Data Source = elSERVER; Initial Catalog = laBBDD; Integrated Security = True";
    
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    SqlCommand SqlCmd = new SqlCommand("InsertarVarios", conn);
                    SqlCmd.CommandType = CommandType.StoredProcedure;
                    SqlCmd.Parameters.AddWithValue("@Lote", .....);
    // y el resto de parámetros
               
                    try
                    {
                        conn.Open();
                        SqlCmd.ExecuteNonQuery() ;
                    }
                    catch (Exception ex)
                    {
                        //loguear el error
                    }
    
                }


    • Marcado como respuesta Katsa miércoles, 19 de febrero de 2020 18:02
    miércoles, 19 de febrero de 2020 16:32
  • Muchas gracias me ayudo mucho. Ahora otra duda, en operadores solo tengo un dato pero no me lo modifica en ese caso que puedo hacer?

     UPDATE Operadores set  Nombre=@Nombre where Nombre =@Nombre;

    miércoles, 19 de febrero de 2020 16:39
  • Hola Katsa:

    Según esa sentencia vas a poner en cada registro de operadores en la columna Nombre, lo que le pases como parámetro cuando nombre sea igual a lo que le pasas como parámetro.

    Por tanto no hará nada.

    Update operadores set Nombre = @Nombre Where algo que identifique los registros a cambiar

    Si solo tienes una fila en operadores entonces le quitas el where.

    Si tienes más filas, haz una select * from operadores, y busca algún criterio para determinar que filas quieres modificar.

    Si aún mantienes dudas, pega aquí lo que te devuelve la consulta, y marca de alguna manera las que quieres modificar

    • Marcado como respuesta Katsa miércoles, 19 de febrero de 2020 17:53
    miércoles, 19 de febrero de 2020 16:59
  • Gracias tenia razón, ya me modifica bien los datos, ahora como hago para que se actualice la base de datos en mi método de búsqueda. Al insertar nuevos datos e intentar buscarlos me dice que no existen. 

    Es lo que tengo dentro del boton de busqueda

     conexionbd conexion = new conexionbd();
                conexion.abrir();
               String connstring= "Data Source=PRACTICANTETI; Initial Catalog=Bascula3 ;Integrated Security=True";
                using (SqlConnection conectarbd = new SqlConnection(connstring))
                {
                   conectarbd.Open();
                   //la busqueda la hace mediante el folio que registro anteriormente
                  string query = "SELECT * FROM Camion INNER JOIN Operadores ON  Camion.idCamiones = Operadores.idOperador inner join Productos ON Productos.idProducto = Operadores.idOperador INNER JOIN Proveedores ON Proveedores.idProveedor = Productos.idProducto inner join Entrada ON Entrada.idEntrada = Entrada.idEntrada  where Folio = @Folio ";
                  SqlCommand cmd = new SqlCommand(query, conectarbd);
                  cmd.Parameters.AddWithValue("@Folio", bus.Text);


    miércoles, 19 de febrero de 2020 17:57
  • Buenas tardes en una pregunta anterior que hiciste el el foro sobre tu consulta

    https://social.msdn.microsoft.com/Forums/es-ES/a4654bb1-13c0-4b53-a10e-8c1cccc927b0/metodo-buscar?forum=vcses#eade13da-b95f-4b49-b255-31e23d191c02

    Te anexe esta misma imagen, que espero te sirva.


    miércoles, 19 de febrero de 2020 18:38
  • Si y ya lo compuse, ya me buscaba los datos, solo que ahora inserte datos nuevos y me dice que no existen. Antes de eso elimine todos los datos anteriores ya que solo eran de prueba.
    miércoles, 19 de febrero de 2020 18:47
  • Mira en la consulta que muestras sigue habiendo errores por ello no de devuelve los datos.

    Es lo que te explico en la imagen, estas definiendo una relación entre el idCamion y el idOperador. Dependiendo como este tu base de datos tu relacion debe ser Camion.idOperador = Operadores.idOperador o Operadores.idCamion = Camion.idCamion

    INNER JOIN Operadores ON Camion.idCamiones = Operadores.idOperador

    inner join Productos ON Productos.idProducto = Operadores.idOperador

    INNER JOIN Proveedores ON Proveedores.idProveedor = Productos.idProducto

    inner join Entrada ON Entrada.idEntrada = Entrada.idEntrada

    Si me muestras un diagrama de tu base de datos similar al que te puse en la imagen podría ayudarte mejor.

    miércoles, 19 de febrero de 2020 19:13
  • No tengo en mi poder ningún diagrama parecido, y la persona que estaba desarrollando no dejo nada, parecido y el data set esta mal, ademas, no me habia dado cuenta pero no dejo tablas relacionadas. Creo que lo mejor será empezar desde 0 y hacer bien las cosas. Cualquier duda que tenga espero me puedan ayudar a resolverla.
    miércoles, 19 de febrero de 2020 19:28
  • Pero puedes dibujarlo  con Visio , power point, o cualquier otro programa. Te recomiendo hacer tu diagrama e incluso ponerle no solo el nombre de los campos si no también el tipo. Te va a ayudar mucho a la hora de programar.

    Coincido contigo, comienza arreglando la base de datos desde 0.

    miércoles, 19 de febrero de 2020 21:12
  • Disculpa es que cuando le quito el where me modifica todos los datos de la tabla, y solo necesito que modifique uno 
    jueves, 20 de febrero de 2020 18:15
  • Hola katsa:

    Ese es el comportamiento que tiene toda sentencia SQL.

    Where sirve para limitar registros

    Lo que tienes que hacer es buscar los criterios para que where apunte a los registros que necesites

    jueves, 20 de febrero de 2020 18:41
  • Hola Katsa:

    Este es el foro de SQL Server y no de C#

    Abre un nuevo hilo en el foro correspondiente de MSDN., donde se te puede dar una mayor ayuda.

    MSDN C#

    jueves, 20 de febrero de 2020 20:31
  • SELECT  Folio, AvisoEmbarque,Contrato,Lote,Nombre,Marca,PlacasCaja,Modelo,NumeroEco,Placas,Color,Transportadora, Concepto,Provee,Producto,Tipo,NTipo,Observaciones 
       FROM 
       Entrada LEFT JOIN Productos ON Entrada.idEntrada = Productos.idEntrada
       LEFT JOIN Proveedores ON Productos.idProducto=Proveedores.idProducto
       LEFT JOIN Camion ON Proveedores.idProveedor= Camion.idProveedores
       LEFT JOIN Operadores ON Camion.idCamiones = Operadores.idCamion;

    Si tengo relacionadas las tablas, pero cuando intento buscar los datos, solo me salen los de la tabla entrada.

    Que puedo hacer en este caso?

    viernes, 21 de febrero de 2020 18:12
  • Hola Katsa:

    Creo que la pregunta ya se sale del tema que iniciaste este hilo.

    Porque no lo preguntas en un hilo nuevo, y además de pegar la consulta, que esta bien formada, y parece buena, porque no pegas alguna fila de los resultados que esperas obtener, porque ya te indico, que la consulta a priori es buena.

    Otra cosa, es las columnas, porque de la consulta no podemos saber a que tabla pertenecen.

    viernes, 21 de febrero de 2020 18:20