Java - facturacion en jcreator con BDmysql

 
Vista:

facturacion en jcreator con BDmysql

Publicado por adolfo (3 intervenciones) el 24/09/2009 19:57:33
hola buenas tardes. amigos no estoy muy diestro con java, intento hacer un sistema de facturacion e inventario sencillo para una farmacia, esto eslo que llevo. cuando intento agregar un cliente a la base de datos me dice que no se puede conectar y de verdad no tengo idea de que hay de mal. si me pueden ayudar con ese detalle o cualquier otro aporte que puedan hacer seria excelente, no se mucho pero cualquier cosa que me digan la investigo. gracias.

/**
* @(#)farmaciacidra.java
*
* farmaciacidra application
*
* @author Adolfo Delpino
* @version 1.00 2009/6/28
*/

import javax.swing.*; //permite usar las herencias
import java.awt.event.*; // windows adapter
import java.awt.*;// para los menus
import java.util.*;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;


public class farmaciacidra extends JFrame {
public JFrame marco;
//public JTextField texto;
String url = "jdbc:mysql://localhost/bdfarmacia";
Connection conex;
Statement instruccionSql;
String consulta;


public farmaciacidra(){
setTitle("Sistema de Facturacion e Inventario de la Farmacia la Cidra C.A");
setSize(850,600);
setLocation(80,40);

//EN MAYUSCULAS LO QUE ESTA EN MI BARRA PRINCIPAL

JMenuBar barra = new JMenuBar();
setJMenuBar( barra );
//BARRA PRINCIPAL
JMenu elementoPrograma = new JMenu( "Programa" );
elementoPrograma.setMnemonic( 'P' );
barra.add( elementoPrograma );
JMenu elementoProducto = new JMenu( "Producto" );
elementoProducto.setMnemonic( 'r' );
barra.add( elementoProducto );
JMenu elementoInventario = new JMenu( "Inventario" );
elementoInventario.setMnemonic( 'I' );
barra.add( elementoInventario );

//AGREGARLE A PROGRAMA
JMenu elementoClientes = new JMenu( "Clientes" );
elementoPrograma.add (elementoClientes);
JMenuItem agregarcli = new JMenuItem( "Nuevo Cliente" );
elementoClientes.add (agregarcli);

JMenuItem eliminarCli = new JMenuItem( "Eliminar Clientes" );
elementoClientes.add (eliminarCli);

elementoPrograma.addSeparator();
JMenuItem elementoSalir = new JMenuItem( "Salir" );
elementoPrograma.add (elementoSalir);

//SALIR DE LA APLICACION
elementoSalir.addActionListener(
new ActionListener() {
// terminar la aplicación cuando el usuario haga clic en elementoSalir
public void actionPerformed( ActionEvent evento )
{
System.exit( 0 );
}
}
);

//AGREGARLE A PRODUCTO
JMenuItem ingProd = new JMenuItem( "Ingresar Productos" );
elementoProducto.add (ingProd);
JMenuItem eliProd = new JMenuItem( "Eliminar Productos" );
elementoProducto.add (eliProd);
JMenuItem modProd = new JMenuItem( "Modificar Productos" );
elementoProducto.add (modProd);
//AGREGARLE A INVENTARIO
JMenuItem stock = new JMenuItem( "Stock" );
elementoInventario.add (stock);
JMenuItem repDiario = new JMenuItem( "Reporte Diario" );
elementoInventario.add (repDiario);
JMenuItem repSem = new JMenuItem( "Reporte Semanal" );
elementoInventario.add (repSem);
JMenuItem repMens = new JMenuItem( "Reporte Mensual" );
elementoInventario.add (repMens);

//INTERFACE
agregarcli.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent evento )
{
// CON ESTO TENGO MI NUEVA VENTANA AL DARLE EN AGREGAR CLIENTES
JFrame Vagrecli= new JFrame();
Vagrecli.setSize(400,200);
Vagrecli.setLocation(250,150);
Vagrecli.setTitle("Modulo de AGREGAR Clientes");
JButton Guardar = new JButton ("Guardar");


Cliente Cli = new Cliente();
Vagrecli.getContentPane().setLayout(new FlowLayout());
Vagrecli.add(Cli.cod);
Vagrecli.add(Cli.codcli);
Vagrecli.add(Cli.nb);
Vagrecli.add(Cli.nombre);
Vagrecli.add(Cli.ap);
Vagrecli.add(Cli.apellido);
Vagrecli.add(Cli.dir);
Vagrecli.add(Cli.direccion);
Vagrecli.add(Guardar);

Guardar.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent evento )
{
try
{
Class.forName("com.mysql.jdbc.Driver");
conex = DriverManager.getConnection(url,"root","");

instruccionSql = conex.createStatement();

Cliente cli = new Cliente();
String c1 = cli.codcli.getText().toString();
String c2 = cli.nombre.getText().toString();
String c3 = cli.apellido.getText().toString();
String c4 = cli.direccion.getText().toString();
consulta = "Insert into cliente values( '"+c1+"','"+c2+"', '"+c3+"', '"+c4+"')";
instruccionSql.executeUpdate(consulta);

System.out.println("se Guardaron OK ");
instruccionSql.close();
conex.close();
}

catch(ClassNotFoundException error)
{
System.out.println("No se puede cargar el puente JDBC/ODBC." +"\n" + error);
System.exit(1);
}
catch(SQLException error)
{
System.out.println("No se puede conectar con la base de datos." + "\n"+ error);
System.exit(2);
}
}
}
);

Vagrecli.setVisible(true);

}
}
); //SE CIERRA LA VENTANA DE AGREGAR CLIENTES

//Producto Prod = new Producto(); // ACA AGREGA UN JTEXTFIELD EN MEDIO DE LA
//setLayout(new FlowLayout()); //PANTALLA
//this.add(Prod.codprod);

setVisible(true);
}//CIERRA EL CONSTRUCTOR

public static void main(String[] args) {

new farmaciacidra();
/*//Producto p = new Producto(); QUE HACE TODO ESTO?????
fc.addWindowListener( NI IDEA
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
);*///WindowListener
}// main
}//CIERRA LA CLASE PRINCIPAL

class Cliente{
public JTextField codcli,nombre,apellido,direccion;
JLabel cod, nb, ap, dir;

Cliente(){
codcli = new JTextField(6);
nombre = new JTextField(25);
apellido = new JTextField(20);
direccion = new JTextField(20);
cod = new JLabel("Codigo del cliente:");
nb = new JLabel("Nombre:");
ap = new JLabel("Apellido:");
dir = new JLabel("Direccion:");
}

}

class Producto{
public JTextField codprod, nbprod, precioprod;
JLabel codp, nbp, precp;

Producto(){
codprod = new JTextField(5);
nbprod = new JTextField(25);
precioprod = new JTextField(20);
codp = new JLabel("Codigo del Producto:");
nbp = new JLabel("Nombre de Producto:");
precp = new JLabel("Precio:");

}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:facturacion en jcreator con BDmysql

Publicado por Gilberto (378 intervenciones) el 27/09/2009 15:34:15
Cuál es el mensaje de error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

facturacion en jcreator con BDmysql

Publicado por ADOLFO DELPINO (3 intervenciones) el 27/09/2009 17:03:16
-----Configuration: farmaciacidra - JDK version 1.6.0_13 <Default> - <Default>-----
No se puede conectar con la base de datos.
java.sql.SQLException: Incorrect integer value: '' for column 'codcli' at row 1

Process completed.

este es!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:facturacion en jcreator con BDmysql

Publicado por Gilberto (378 intervenciones) el 27/09/2009 19:53:12
Checa el tipo de datos de tu BD, debe coincidir lo que pasas con lo que pide la función (las cadenas van entre comillas, los datos numéricos no llevan comillas), además checa si las cadenas s1,s2 etc tienen datos y no van vacías al pasarlas a la función executeupdate
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:facturacion en jcreator con BDmysql

Publicado por adolfo (3 intervenciones) el 28/09/2009 06:59:32
gilberto yo hice una BD de prueba y la conecte con java y corrio perfectamente. luego copie ese mismo codigo y lo pegue en este nuevo programa y no funciona. tambien probe lo que me acabas de decir y me da este error: como si estuviera mal la linea de codigo del mysql

No se puede conectar con la base de datos.
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''', '', '')' at line 1

Process completed.

yo creo que si lo corres en tu maquina podrias ver mejor el detalle. hasta te podria dar el codigo de mi BD de prueba que te comente.
gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:facturacion en jcreator con BDmysql

Publicado por ulises (1 intervención) el 02/10/2009 02:19:29
no lo probe al codigo pero a simple vista veo que usas los apostrofes para encerrar la variables que contienen los string y eso podria ser el problema ya que los apostrofes se deben usar con string literales y no variables. en resumen tenes que sacar esos apostrofes de la consulta sql.
aparte veo que tu statement no lo hiciste para que sea actulizable ni tampoco que el cursor se pueda mover en ambas direcciones por lo que te recomiendo que modifiques esa linea de la siguiente manera:

instruccionSql = conex.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:facturacion en jcreator con BDmysql

Publicado por luis (1 intervención) el 21/02/2013 15:33:42
Hola pero queria saber si la conexion es con MySQL y donde esta un class para que hagas la conexion y tambien queria sabes si el codigo esta hecho en Java Scripts
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar