Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - rob25

Páginas: [1]
1
Vale gracias ya me funciona, otra duda que te quería preguntar tengo una tabla clientes otra tabla stock y otra tabla pedidos, me piden que a partir de un cliente y un stock que es como un producto inserte datos en pedidos a traves de un metodo. Tengo que hacer uso de los placeholders a la hora de insertar.

Mi problema es que no me da ningun error el programa en sí pero no se insertan los datos en la tabla pedidos.

El for llega hasta 5 que son los clientes y stock que hay

Gracias de nuevo

Te adjunto codigo:


Código: [Seleccionar]
package Cliente;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class clientes2{

public static void main(String[] args) throws ClassNotFoundException, SQLException {



String url = "jdbc:mysql://localhost:3307/clientes2" +
"?useUnicode=true"+
"&serverTimezone=UTC";
String nombreDriver = "com.mysql.cj.jdbc.Driver";

String sql = ("INSERT INTO VENTAS VALUES (?,?)");

try {

      Class.forName(nombreDriver);
      Connection con = DriverManager.getConnection(url, "root", "root");
      PreparedStatement pstmt = con.prepareStatement(sql);
     
     
      for(int i=1; i<=5;i++) {
      pstmt.setInt(1, i); //ID CLIENTE
      pstmt.setInt(1, i); //ID STOCK
      }
           
            pstmt.close();
            con.close();

}catch(ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
       
}

}

2
Buenas me piden lo siguiente: Necesito realizar un programa que me lea un fichero llamado “personas.txt” y introducir estos valores en la tabla clientes de mySql.

El fichero personas.txt tiene varios INSERT INTO CLIENTES de id, nombre y apellidos.

Yo tengo realizado lo siguiente pero no me funciona:

Código: [Seleccionar]
public class Clientes{

public static void main(String[] args) throws SQLException, IOException, ClassNotFoundException {



  String nombredriver ="com.mysql.cj.jdbc.Driver";

  ResultSet rs = null;

   
    int ID = 0;
        String NOMBRE = " ";
        String Apellidos= " ";
        String[] tokens;
       
        FileReader file1 = new FileReader("src/personas.txt");
        BufferedReader buffer1 = new BufferedReader(file1);

        String line = buffer1.readLine();
 
     
      Class.forName(nombredriver);
      Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/clientes" +
"?useUnicode=true"+
"&serverTimezone=UTC", "root", "root");
      Statement stmt=con.createStatement();
     
     
     
       
     
      while((line = buffer1.readLine()) != null)
            {
                tokens = line.split(",");
                ID = Integer.parseInt(tokens[0]);
                NOMBRE = tokens[1];
                APELLIDOS= tokens[2];
       

                String insertString = "insert into clientes (ID, NOMBRE, APELLIDOS) values ('"+ID+"', '"+NOMBRE+"', '"+APELLIDOS+"'))";
                stmt.executeUpdate(insertString);
            }
       
     
      con.close();
      stmt.close();

}

}

3
Buenas tengo un ejercicio en el que tengo una clase llamada Cliente con dni, nombre y especialidad que son privados. Me pide que cree un main con un array de 10 clientes en el que tendrá un menu(switch case) con varias opciones.

Si pulso 1, Se creará un nuevo objeto Cliente y lo añadirá a la lista en la última posición libre. Hay que comprobar que haya un hueco libre antes de añadirlo.

No entiendo cómo puedo crear un nuevo objeto cliente y que se añada al codigo de por si o no si no lo entiendo.

Gracias por la ayuda.

 

4
Buenas, gracias por tu respuesta.

¿Sabrias decirme si si un diagrama donde simplemente representamos que un infectado muere es correcto? El enunciado es que un infectado muere. Infectado es una clase (orientado a objetos, con propiedades (fechaDeteccion, sintomas, fechaAlta)  y métodos (empeora, mejora y muere)
 
Un saludo.

5
Tengo muchas dudas acerca de los diagramas de secuencia, si alguien me pudiese ayudar se lo agradecería. Espero su respuesta.

6
Buenas necesito ayuda con un ejercicio de triggers que os adjunto

CONSIGNA DEL EJERCICIO

Citar
Clientes (id, nombre)
Clientes_VIP{id, nombre)
Vendedores (id, nombre)
Ventas (id_cliente, id_ vendedor, importe, fecha)
Log (id, mensaje)

l. Al realizar una venta, si el importe es superlor a 500€, el cliente pasará a ser cliente vip (se insertará en una nueva tabla clientes_vip, con los campos id, nombre y fecha en que se inserta el registro)
2. De igual manera, al realizar una venta, si el cliente es VIP se aplicará un descuento de un 10% al Importe de la venta.
3. Igualmente, cuando un cliente realice su primera compra recibirá un descuento del 20%.
4. Y si la primera venta de un vendedor es superior a 1000 euros el nombre del vendedor pasará a mayúsculas

El ejercicio 1 lo tengo ya hecho y funciona correctamente.

Código: [Seleccionar]
create or replace NONEDITIONABLE trigger ej1p after insert or update on ventas for each row

DECLARE

vimporte ventas.importe%type := :new.importe;
vnombre clientes.nombre%type;
vid clientes.id%type := :new.id_cliente;


BEGIN

Select nombre into vnombre from clientes where id=:new.id_cliente;

if(vimporte > 500) then

INSERT INTO clientess_vip VALUES (vid, vnombre, sysdate);

end if;

END;

El problema esta en el ejercicio 2 el cual no entiendo como plantearlo, no entiendo como puedo hacer que se coja el descuento del 10%. Yo he pensado en esto pero no funciona:
Código: [Seleccionar]
create or replace trigger ej2p after insert or update on ventas for each row

DECLARE

vimporte ventas.importe%type := :new.importe;
vid clientess_vip.id%type := :new.id_cliente;

BEGIN

:new.importe := :new.importe*1.10;

END;

7
Muchas gracias por la ayuda Kabuto.

He conseguido ya acabar todo el codigo y me funciona todo perfectamente.

Gracias por dedicar tu tiempo en ayudarme.

Un saludo.

8
Buenas antes de nada muchas gracias por la ayuda que me estas dando, me está siendo de gran ayuda aprender tanto contigo.

No me explique muy bien lo que queria hacer con el atributo Tiempo.

Dentro de la clase Transporte tengo un atributo tiempo de tipo date, según el enunciado. Lo que me pide el ejercicio es lo siguiente:

Me pide que calcule las velocidades medias, para ello esta el metodo VelocidadMedia() que es heredado a la clase Barco. Para calcular el la velocidad media hay que dividir el tiempo entre la distancia, que se pediran ambos por parametro y el metodo VelocidadMedia() debera resolverla.

El tiempo de barco son 7 horas, Avion 30 minutos..

La distancia fija sera siempre de 800km

Por ejemplo habria que dividir las 7 horas del barco entre los 800km para sacar la velocidad media de subclase barco.

Mi duda sigue siendo el atributo tipo date por que yo no puedo dividir un atributo de tipo date entre un atributo int como 800km. Se me exige que use Date como tipo de atributo aunque con LocalTime seria mas sencillo.

Tambien mi duda es que se me pide que pida por parametro las distancia aunque se dice que siempre sera de 800km y en el UML no hay ningun atributo distancia. ¿Lo deberia crear?
 
Gracias de nuevo Kabuto.

9
Muchas gracias, ya me ha quedado mas claro. He usado la segunda opción y funciona perfectamente.

Ahora tengo otra duda.

Tengo un atributo en la clase Transporte llamado Tiempo de tipo Date(Uso java.Util.Date). Con este atributo necesito sacar los tiempos para cada subClase, por ejemplo Barco: 7 horas, Avion: 30 minutos.

Mi duda es que no se usar los atributos tipo Date para sacar las horas y minutos. Creo que tengo que crear otro atributo llamado horas y otro llamados minutos. Luego creo que tengo que crear un nuevo Date e instanciarlo con Calendar e igualar los atributos horas y minutos a Calendar.Hour i Calendar.Minutes.

Muchas gracias.

Código: [Seleccionar]
import java.util.Date;

public abstract class Transporte {

private float precio;
[b]private Date tiempo;[/b]
private int capacidad;


10
Buenas tengo una duda con las clases abstractas en Java.

Tengo la superclase Transporte la cual tiene los atributos privados y metodos y getters y setters abstractos y luego la clase Barco que hereda de Transporte tiene su constructor con otros atributos y luego los metodos que son herededados de clase abstracta Transporte.

Mi duda es como puedo hacer que la Clase Barco los getters y Setters retornen los valores como GetPrecio() retorne precio en vez de 0.

Adjunto los codigos:

CLASE TRANSPORTE:

Código: [Seleccionar]
public abstract class Transporte {

private float precio;
private Date tiempo;
private int capacidad;

public abstract void VelocidadMedia();

public abstract void Salida();

public abstract float getPrecio();;

public abstract int getCapacidad();

public abstract void setCapacidad(int capacidad);

public abstract void setPrecio(float precio);

public abstract Date getTiempo();

public abstract void setTiempo(Date tiempo);

}


CLASE BARCO:

Código: [Seleccionar]
public class Barco extends Transporte{

private int categoria;



public Barco(int categoria) {
super();
this.categoria = categoria;

if(categoria==1) {
setPrecio(120);
}

if(categoria==2) {
setPrecio(97);
}

if(categoria==3) {
setPrecio(89);
}

if(getCapacidad()>=1000) {
setPrecio((float) (getPrecio()*0.09));
setPrecio(getPrecio()-getPrecio());

}
}



public int getCategoria() {
return categoria;
}







@Override
public void VelocidadMedia() {



}

@Override
public void Salida() {

System.out.println("BARCO: Precio: " + getPrecio() + "Tiempo: " + "" + "Capacidad: " + getCapacidad() + "Categoria: " + getCategoria());

}



@Override
public float getPrecio() {

return 0;
}



@Override
public int getCapacidad() {

return 0;
}



@Override
public void setCapacidad(int capacidad) {


}



@Override
public void setPrecio(float precio) {


}



@Override
public Date getTiempo() {
return null;
}



@Override
public void setTiempo(Date tiempo) {

}



}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".