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

como pasar valor de variables

Estas en el tema de como pasar valor de variables en el foro de Java en Foros del Web. Hola amigos del foro tengo un problema y no encuetro la solucion espero que me puedan ayudar me urge mucho. mi problema es que estoy ...
  #1 (permalink)  
Antiguo 31/12/2010, 13:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 0
Sonrisa como pasar valor de variables

Hola amigos del foro tengo un problema y no encuetro la solucion espero que me puedan ayudar me urge mucho.

mi problema es que estoy haciendo una aplicacion que me lea unos unos registros de una base de datos llamada simonelectrica para despues actualizarlos en otra base de datos llamada simonelectrica1

quiero que se este actalizando cada cierto tiempo el proble es que como puedo pasar los variables al update para que me actaulice.

asi es como tengo mi codigo

tengo dos conexiones una para consultar y la otra es para actualizar

entoncesd quiero pasar los valores del SELECT

al UPDATE

me podrian decir como pasar los valores






package appcontadorswing;

import java.sql.*;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
import java.text.DateFormat;
import javax.swing.*;
import java.awt.*;

import java.awt.event.WindowEvent;
import java.util.Date;
import javax.swing.JOptionPane;


public class Test {

private Connection conexion = null;




DateFormat df;

public Test() {

df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
Timer timer = new Timer();
timer.schedule(new DoTick(), 0, 18000); // do it every second
}

class DoTick extends TimerTask {
public void run() {
Calendar c = df.getCalendar();
//String minutos=df.format(c.MINUTE);
System.out.println(df.format(c.getTime()));
//////a qui va el codigo

String url = "jdbc:mysql://localhost:3306/simonelectrica";
try
{
Class.forName("com.mysql.jdbc.Driver");


conexion = DriverManager.getConnection(url,"root","servicomsa ");
if (conexion !=null){
System.out.println("Conexión a base de datos OK");
}
} catch (Exception e) {
// System.out.println(e.toString());
System.out.println("Problema al establecer la Conexión a la base de datos ");
}

ResultSet rs = null;
Statement s = null;
try
{
s = conexion.createStatement();
//seleccionamos la tabla de la base de datos la cual lleva por nombre trabajadores
rs = s.executeQuery("SELECT id, nombre FROM usuarios WHERE id = (SELECT MAX(id) FROM usuarios)");
//rs = s.executeQuery("SELECT id, nombre FROM usuarios WHERE id = (SELECT MAX(id) FROM usuarios) ");
}catch (Exception e)
{
System.out.println("Problema al consultar la base de datos ok");
}


Main x = new Main();
String cadena="";

try{
while (rs.next())
{
//imprimimos todos los datos contenidos en la tabla
cadena += rs.getString (1) + ", " + rs.getString(2) + "\n";


}
JOptionPane.showMessageDialog(null, cadena, "trabajadores",1);
//System.out.println("estos son",cadena);
} catch(Exception e)
{
System.out.println("Problema al imprimir la base de datos ");
}


try
{
conexion.close();
}catch(Exception e)
{
System.out.println("Problema para cerrar la Conexión a la base de datos");
}







//// otra conexion a la base de datos



//cadena += rs.getString (1) + ", " + rs.getString(2) + "\n";

String url1 = "jdbc:mysql://localhost:3306/simonelectrica1";
try
{
Class.forName("com.mysql.jdbc.Driver");


conexion = DriverManager.getConnection(url1,"root","servicoms a");
if (conexion !=null){

//System.out.println("OTRA CONEXION LISTA PARA INSERTAR");
}
} catch (Exception e) {
// System.out.println(e.toString());
System.out.println("Problema al establecer la Conexión a la base de datos ");
}

///



Statement s1 = null;
try
{
s1 = conexion.createStatement();


//JOptionPane.showMessageDialog(null, cadena, "trabajadores",1);

s1.executeUpdate("UPDATE usuarios SET nombre='"+= rs.getString (1) +"' WHERE id='"+= rs.getString (1) +"'");



System.out.println("Se Actualizo la base de datos");



// rs1 = s.executeQuery("select * from usuarios");
}catch (Exception e)
{
System.out.println("Problema al ACTUALIZAR");
}





try
{
conexion.close();
}catch(Exception e)
{
System.out.println("Problema para cerrar la Conexión a la base de datos");
}



/////
c.add(Calendar.SECOND, 1);
df.setCalendar(c);
}
}

public static void main(String[] args) {
Test t = new Test();
Date fechaAhora = new Date();
//////FRAME
JFrame frame = new JFrame("Factura Electronica");
final JLabel label = new JLabel("El sistema esta trabajando:" + fechaAhora);
frame.getContentPane().add(label);

frame.addWindowListener(new java.awt.event.WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);

frame.pack();
frame.setVisible(true);
//////FIN FRAME

}

}
  #2 (permalink)  
Antiguo 21/01/2011, 17:14
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 6 meses
Puntos: 16
Respuesta: como pasar valor de variables

no se si aun te sirva mi respuesta.
por lo que veo necesitas despues de hacer el select de tu rs hacer el update, bueno si es asi en el while

while (rs.next())
{
//imprimimos todos los datos contenidos en la tabla
cadena += rs.getString (1) + ", " + rs.getString(2) + "\n";


}
JOptionPane.showMessageDialog(null, cadena, "trabajadores",1);
//System.out.println("estos son",cadena);


no entiendo xq haces esto cadena += rs.getString (1) + ", " + rs.getString(2) + "\n";

deveria de estar asi

cadena += rs.getString ("id") + ", " + rs.getString("nombre") + "\n";

no se tal vez estoy mal

pero lo que tu quieres en lugar de hacer

while (rs.next())
{
//imprimimos todos los datos contenidos en la tabla
cadena += rs.getString (1) + ", " + rs.getString(2) + "\n";


}
has esto

while (rs.next())
{

s1.executeUpdate("UPDATE usuarios SET nombre='"+= rs.getString ("nombre") +"' WHERE id='"+= rs.getString (1) +"'");

}


claro con tus respectivas conecciones que tienes

espero y te sirva

suerte!!

Etiquetas: pasar, variables
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 16:57.