You are on page 1of 10

Cdigo para insertar, moficar y eliminar

datos de mysql desde netbeans?


Hola!
Estoy haciendo un proyecto, pero no tengo mucha experiencia en java, sin embargo
necesito cdigos para insertar, modificar y eliminar datos de mi base de datos (ya
conectada) desde netbeans.
Si me pudieran facilitar algn cdigo estara realmente MUY agradecido.
Porfa aydenme! :)
Gracias de antemano =D
hace 3 aos
Reportar abusos
leord
Mejor respuesta - elegida por los votantes
http://caminolibre.com/index.php?option=
Camino Libre
Programacin web con herramientas libres y negocios en internet
Tutorial de Java
Tutorial de PHP
Conectando JAVA con MySql usando JDBC
01.- Conectando JAVA con MySql usando JDBC
Escrito por Administrator
viernes, 27 de abril de 2007
Conectando JAVA con MySql usando JDBC.
En esta seccin mostraremos como acceder a una base de datos usando JDBC.
Introduccin.
JDBC es un API de Java para acceder a manejadores de bases de datos, y
prcticamente a cualquier tipo de dato tabular. El API JDBC consiste de un conjunto
de clases e interfaces que permiten a cualquier programa Java acceder a sistemas de
bases de datos de forma homognea. En otras palabras, con el API JDBC no es
necesario escribir un programa para accesar a Sybase, otro programa para accesar a
Oracle, y otro programa para accesar a MySQL; con esta API, se puede crear un slo
programa que sea capaz de enviar sentencias SQL a la base de datos apropiada.
Nuestra aplicacin Java debe tener acceso a un controlador (driver) JDBC adecuado.
Este controlador es el que implementa la funcionalidad de todas las clases de acceso a
datos y proporciona la comunicacin entre el API JDBC y la base de datos real. De una
manera muy simple.
Entonces, para efectuar nuestro ejemplo de conexin necesitaremos:
El servidor MySql correctamente instalado
El conector correctamente instalado.
Empezemos con el servidor, en este caso podemos levantarlo fcilmente con un
programa como EasyPhp, basta con instalarlo he iniciar el programa para tener un
servidor MySql corriendo, podremos administrarlo con la interfaz phpMyAdmin en la
direccin local:
http://localhost/mysql/
Ahora el conector.
Dnde obtenerlo? En la pgina oficial de MySql encontraremos diferentes versiones,
en los ejemplos utilic la versin 3 del conector que puedes descargar en un paquete
incluyendo el cdigo aqu, tambin puedes encontrar el archivo jar desempaquetado en
la carpeta de los cdigos de ste curso.
Cmo instalarlo? Del sitio descargamos un zip o un tar.gz, en ambos casos
necesitaremos descomprimir el archivo jar que viene dentro, en este caso se llama
mysql-connector-java-3.0.17-ga-bin.jar
A continuacin colocamos el archivo en algn lugar de nuestra computadora, y
agregamos la ruta al CLASSPATH.
Por ejemplo, en mi caso el valor del CLASSPATH qued as:
CLASSPATH=C:\Archivos de programa \Java\jre1.6.0_01\lib\mysql-connector-java-
3.0.17-ga-bin.jar;
El ejemplo ms sencillo de una conexin:
Conexion Sencilla
import java.sql.*;

public class Conexion {
public static void main(String args[]) {
try {
//Cargamos el puente JDBC => Mysql
System.out.println("Intentando cargar el conector...");
Class.forName("com.mysql.jdbc.Driver");

//Intentamos conectarnos a la base de Datos en este caso una
base llamada temp
System.out.println("Conectando a la base...");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/temp", "root", ""
);
System.out.println("Conexion a BD establecida");

} catch(SQLException ex) {
System.out.println("Error de mysql");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch(Exception e) {
System.out.println("Se produjo un error inesperado: "+e.getMe
ssage());
}
}
}
/* Debe producir una salida como esta:
Intentando cargar el conector...
Conectando a la base...
Conexion a BD establecida
*/
Trabajemos con datos almacenados. Creamos una base de datos llamada prueba y le
creamos una tabla con el siguiente cdigo:
CREATE TABLE `usuarios` (
`login` varchar(10) NOT NULL default ,
`password` varchar(10) NOT NULL default ,
PRIMARY KEY (`login`)
)
INSERT INTO `usuarios` VALUES (adrian, adrian);
INSERT INTO `usuarios` VALUES (ernesto, ern123);
INSERT INTO `usuarios` VALUES (juan, jua123);
INSERT INTO `usuarios` VALUES (pedro, ped123);
Ahora ejecutemos el siguiente programa que usa la sentencia SQL llamada SELECT:
ConexionSelect.java
import java.sql.*;
import java.io.*;
public class ConexionSelect {
public static void main(String args[]) {
try {
Class.forName(com.mysql.jdbc.Driver);
Connection con = DriverManager.getConnection(
jdbc:mysql://localhost/prueba, root,
);
System.out.println(Conexion a BD establecida);
Statement stmt = con.createStatement();
ResultSet rs=stmt.executeQuery(SELECT * FROM usuarios);
System.out.println(Login\tPassword);
while(rs.next()) {
System.out.println(rs.getString(login)+\t+rs.getString(password));
}
} catch(SQLException ex) {
System.out.println(Error de mysql);
} catch(Exception e) {
System.out.println(Se produjo un error inesperado: +e.getMessage());
}
}
}
/*
Este programa nos arroja una salida como esta:
Conexion a BD establecida
Login Password
adrian adrian
ernesto ern123
juan jua123
pedro ped123
*/
El siguiente programa que usa la sentencia SQL llamada INSERT:
ConexionInsert.java
import java.sql.*;
import java.io.*;
public class ConexionInsert {
public static void main(String args[]) {
try {
Class.forName(com.mysql.jdbc.Driver);
Connection con = DriverManager.getConnection(
jdbc:mysql://localhost/prueba, root,
);
System.out.println(Conexion a BD establecida);
Statement stmt = con.createStatement();
int respuesta=stmt.executeUpdate( INSERT INTO usuarios VALUES(
+ args[0] + ,
+ args[1] + ) );
if(respuesta==1){
System.out.println(Se agreg el registro de manera exitosa);
}
else{
System.out.println(Ocurrio un problema al agregar el registro);
}
} catch(SQLException ex) {
// Mostramos toda la informacion sobre el error disponible
System.out.println( Error: SQLException );
while (ex != null) {
System.out.println (SQLState: + ex.getSQLState ());
System.out.println (Mensaje: + ex.getMessage ());
System.out.println (Vendedor: + ex.getErrorCode ());
ex = ex.getNextException();
System.out.println ();
}
} catch(Exception e) {
System.out.println(Se produjo un error inesperado: +e.getMessage());
}
}
}
/*
Para ejecutar este programa hacemos algo como esto: D:\>java ConexionInsert julio
jul123
Y debe arrojar esto:
Conexion a BD establecida
Se agrego el registro de manera exitosa
*/

http://casidiablo.net/ejemplo-basico-de-
Ah hay un par de tutoriales con lo ms bsico, si necesitas ms puedes poner en google
"jdbc mysql" y aparecern muchos ms
JDBC es la API ms conocida para conectar programas Java con bases de datos de
cualquier tipo (mysql, postgresql, oracle, etc).
Fuente(s):
Estudio Ingeniera de Sistemas
Google
hace 3 aos
Reportar abusos
67% 2 votos
0 estrellas - seleccinala por ser: Interesante!
Correo
Comentario (0)
Guardar
o
o
o

Esta pregunta "Cdigo para inserta " fue publicada originalmente en Yahoo! Respuestas
Espaa
Otras respuestas (1)
dikas
Digamos q tienes un objeto Persona: id, nombre, apellido, edad.

/**Insert**/

public boolean insertar(Persona objPersona) throws Exception{
boolean rpta = false;
Connection con = null;
PreparedStatement ps = null;
try {
if (objPersona != null) {
con = DBManager.getConnection();
String sql = "INSERT INTO Persona (nombre,apellido,edad) VALUES (?,?,?);";
ps = con.prepareStatement(sql);
ps.setString(1,objPersona.getNombre());
ps.setString(2,objPersona.getApellid
ps.setInt(3,objPersona.getEdad());
rpta = ps.executeUpdate() == 1;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return rpta;
}

/**Update**/
public boolean actualizar(Persona objPersona) throws Exception{
boolean rpta = false;
Connection con = null;
PreparedStatement ps = null;
try {
if (objPersona != null) {
con = DBManager.getConnection();
String sql = "UPDATE Persona SET nombre=?, apellido=?, edad=? WHERE
id=?;";
ps = con.prepareStatement(sql);
ps.setString(1,objPersona.getNombre());
ps.setString(2,objPersona.getApellid
ps.setInt(3,objPersona.getEdad());
ps.setInt(4,objPersona.getId());
rpta = ps.executeUpdate() == 1;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return rpta;
}

/**Eliminar**/
public boolean eliminar(Persona objPersona) throws Exception{
boolean rpta = false;
Connection con = null;
PreparedStatement ps = null;
try {
if (objPersona != null) {
con = DBManager.getConnection();
String sql = "DELETE FROM Persona WHERE id=?;";
ps = con.prepareStatement(sql);
ps.setInt(1,objPersona.getId());
rpta = ps.executeUpdate() == 1;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return rpta;
}
o hace 3 aos
o Reportar abusos


Java cambios PreparedStatement setString
caracteres

Answer
2por
votarfavorito
Como en el ttulo: por cierto, me depurar mi aplicacin, por lo que en lnea, donde pongo cuerdas en
la variable PreparedStatement, caracteres especiales estn cambiando a "?". Yo en realidad no s
dnde buscar las cosas que deben repararlo, as que no s si el cdigo es necesario .. De todos modos,
voy a poner un poco de aqu:
PreparedStatement stm = NULL ;
cadena sql = "" ;

intentar {
sql = "INSERT INTO mtodos (nombre, descripcin) VALUES (?,


mientras que el campo "nombre" depuracin tena razn al objeto mtodo, pero despus de aadir que
en la variable stm, cambi sus personajes de '?'.
He encontrado un tema sobre el sitoatuin similar en SO, pero no hubo ninguna respuesta que me
podra ayudar ya que exactely saber que hay algo no est bien en la adicin a la declaracin de
cadena, no en base de datos. Pero yo no s qu ..
Cualquier sugerencias?
PS. Estoy utilizando NetBeans 6.7.1 versin
EDIT: Me depuracin con estndar netbeans depurador, y estaba comprobando el estado de las
variables antes de agregar cadenas a 'stm' variable. Yo estaba cambiando incluso getName () para
cadena esttica con caracteres especiales. As que para asegurarse de que todo est bien con la clase
de mtodos.
Edit2: He hecho una prueba ms. Variables Chequeado stm y una de sus propiedades es
"charEncoding", que se ajusta a "cp1252". As que la pregunta principal es .. cmo cambiar eso?
java preparados declaracin
compartir | mejorar esta pregunta editado 18 de enero '11 a las
13:55

pidi 18 de enero '11 a las
12:56



Seraphis
4431415



Cmo fue comprobar esto? Qu herramienta se utiliza para verificar los datos en la base de datos? - skaffman 18 de
enero '11 a las 13:01

Ests diciendo que el valor de retorno de method.getName () cambia despus de que haya sido llamado? -
Joachim Sauer 18 de enero '11 a las 13:01

Nunca hacer catch (Exception e) {} - si ocurre una excepcin, usted no sabr que lo hizo y lo que sali mal. Al
imprimir menos, el seguimiento de pila: catch (Exception e) {e.printStackTrace ();} - Jesper18 de enero
'11 a las 13:20

You might also like