Programación en castellano
Inicio > Tutoriales > Acceso a Bases de Datos [JDBC]
-Tutoriales

Acceso a Bases de Datos [JDBC]


Insertar una Fila

El siguiente ejemplo de código es un programa completo que debería funcionar si tenemos un driver JDBC 2.0 que implemente una hoja de resultados desplazable.

Hay algunas cosas que podríamos observar sobre el código.

  1. El objeto ResultSet, uprs es actualizable, desplazable y sensible a los cambios hechos por ella y por otros. Aunque es TYPE_SCROLL_SENSITIVE, es posible que los métodos getXXX llamados después de las inserciones no recuperen los valores de la nuevas filas. Hay métodos en el interface DatabaseMetaData que nos dirán qué es visible y qué será detectado en los diferentes tipos de hojas de resultados para nuestro driver y nuestro controlador de base de datos.
  2. Después de haber introducido los valores de una fila con los métodos updateXXX, el código inserta la fila en la hoja de resultados y en la base de datos con el método insertRow. Luego, estándo todavía en la "fila de inserción", selecciona valores para otra nueva fila.
import java.sql.*;

public class InsertRows {
	public static void main(String args[]) {
		String url = "jdbc:mySubprotocol:myDataSource";
		Connection con;
		Statement stmt;
	try {
		Class.forName("myDriver.ClassName");
	} catch(java.lang.ClassNotFoundException e) {
		System.err.print("ClassNotFoundException: "); 
		System.err.println(e.getMessage());
	}
	try {
		con = DriverManager.getConnection(url, "myLogin", "myPassword");
		stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
					   ResultSet.CONCUR_UPDATABLE);				
		ResultSet uprs = stmt.executeQuery("SELECT * FROM COFFEES");
		uprs.moveToInsertRow();
		uprs.updateString("COF_NAME", "Kona");
		uprs.updateInt("SUP_ID", 150);
		uprs.updateFloat("PRICE", 10.99f);
		uprs.updateInt("SALES", 0);
		uprs.updateInt("TOTAL", 0);
		uprs.insertRow();
		uprs.updateString("COF_NAME", "Kona_Decaf");
		uprs.updateInt("SUP_ID", 150);
		uprs.updateFloat("PRICE", 11.99f);
		uprs.updateInt("SALES", 0);
		uprs.updateInt("TOTAL", 0);
		uprs.insertRow();
		uprs.beforeFirst();
		System.out.println("Table COFFEES after insertion:");
		while (uprs.next()) {
			String name = uprs.getString("COF_NAME");
			int id = uprs.getInt("SUP_ID");
			float price = uprs.getFloat("PRICE");
			int sales = uprs.getInt("SALES");
			int total = uprs.getInt("TOTAL");
			System.out.print(name + "   " + id + "   " + price);
			System.out.println("   " + sales + "   " + total);
		}

		uprs.close();
		stmt.close();
		con.close();	

	} catch(SQLException ex) {
		System.err.println("SQLException: " + ex.getMessage());
	}
}
 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad
Mantenida por: Claudio y Dani.

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: jugar gratis | amor | navidad 2009 | registro de dominios | servidores dedicados
más internet: comprar | gratis | posicionamiento en buscadores | decoración libre | gifs animados