NADIE ME HA AYUDADO CON ESTE DE JDBC

Alberto
24 de Marzo del 2005
TENGO UN FRAME CON UN JTEXTFIELD Y UN JTEXTAREA, ESCRIBO UNA INSTRUCCION SQL EN EL JTEXTFIELD Y LOS DATOS ME SALEN EN EL JTEXTAREA...
PERO LO QUE NECESITO ES QUE APAREZCAN EN UN JTABLE. QUIEN PUEDA AYUDARME ESCRIBAME POR FAVOR, NECESITO ESE EJERCICIO URGENTE URGENTE, PERO YA HE AGOTADO MIS CONSULTAS Y NO HE PODIDO, MI CORREO ES [email protected] O ESCRIBANME AQUÍ EN EL FORO GRACIAAAAAAASSS

1) ESTE ES EL ARCHIVO CONEXION.JAVA (HACE LA CONEXION A LA BASE DE DATOS)

import javax.swing.*;
import java.awt.*;
import java.sql.*;

public class Conexion
{
String consultaprc;
Connection con;
ResultSet rs;
Statement stmt;
CallableStatement cstm;

public void cargarDriver()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con= DriverManager.getConnection("jdbc:odbc:mibase");
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}

public Connection obtenerConexion()
{
return con;
}

}


2) ESTE EL ARCHIVO QUERY.JAVA(REALIZA TODOS LOS PROCESOS)

import java.sql.*;

public class Query
{
static ResultSetMetaData rsmd;
static Connection con;
static ResultSet rs;
static Statement stm;
static String consulta;
String datos = "";

public Query() throws Exception {
Conexion obj = new Conexion();
obj.cargarDriver();
con = obj.obtenerConexion();
stm = con.createStatement();
}

public String miquery (String query)
{

try
{
consulta= query;
String result=consulta.substring(0,6);
System.out.println(result);
if (result.equals("select"))
{
System.out.println(result);
rs = stm.executeQuery(consulta);
rsmd = rs.getMetaData();
int numColumnas = rsmd.getColumnCount();

System.out.println ("Numero de Columnas: " + numColumnas);
System.out.println ("La instruccion es: " + result);

while (rs.next())
{
for (int i=1; i<=numColumnas; i++)
{

datos += " " + rs.getString(i);
if (i == numColumnas)
{
datos = datos + "n";
}
}
}

}else{
datos=String.valueOf(ejecutarDDL());
}
stm.close();
con.close();
return datos;

}
catch(Exception sqle) //no captura todas las excepciones solo las sql
{
System.out.println ("Error FATAL" + sqle);
}

return datos;
}

public int ejecutarDDL() throws Exception
{
int filasAfectadas = stm.executeUpdate(consulta);
return filasAfectadas;

}


}

3) ESTE ES EL FRAME.

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;

public class PanelDatos extends JFrame
{
Container contenedor;
JTextField texto1;
JButton btn1;
JTextArea txt;
public PanelDatos(String nombreFrame)
{
super(nombreFrame);
contenedor = getContentPane();
contenedor.setLayout(new BorderLayout());
texto1 = new JTextField(10);
txt = new JTextArea(2,2);
btn1 = new JButton("Ejecutar");



btn1.addActionListener(new consultar());


contenedor.add(texto1, BorderLayout.NORTH);
contenedor.add(txt, BorderLayout.CENTER);
contenedor.add(btn1, BorderLayout.SOUTH);
contenedor.add(new JButton(), BorderLayout.EAST);
contenedor.add(new JButton(), BorderLayout.WEST);
}
class consultar implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{

try
{
Query obj = new Query();

String sentencia;
String muestra;
sentencia = texto1.getText();
muestra = String.valueOf(obj.miquery(sentencia));
txt.setText(muestra);
}
catch(Exception e)
{
System.out.println("error " + e);
}
}
}

public static void main (String args[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
PanelDatos frame1 = new PanelDatos("Mi frame");
frame1.setSize(300, 300);
frame1.setVisible(true);
}

}


AGRADEZCO A TODOS LOS QUE PUEDAN AYUDARME, Y BUENO LOS FELICITO POR AYUDAR A TODAS LAS PERSONAS QUE NECESITAMOS SUS CONOCIMIENTOS PARA LOGRAR NUESTROS PROYECTOS.

nicokiki
24 de Marzo del 2005
Hola!!!!!!!!

Mira esto:

http://www.programacion.com/java/foros/6/msg/193281/

Explica como cargar un JTABLE perfectamente. Es super claro el post asi q fijate si te sirve

Salu2!!!!!!!!!!!

Alberto
24 de Marzo del 2005
bueno, te agradezco mucho, leeré el artículo.
Que chevere encontrar personas que puedan ayudarnos.
Muchas gracias

rolextreme
24 de Marzo del 2005
Usa un DefaultTableModel y de esa manera en los ciclos de que traes las consultas añades las filas y columnas....