Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
>Establece una conexin con una BD >Enva sentencias SQL >Procesa los resultados
El JDBC provee al desarrollador la capacidad de unirse o conectarse a los sistemas de bases de datos relacionales.
JDBC normaliza la mayor parte de las operaciones (las hace independientes de la base de datos utilizada y por tanto portables).
JDBC no comprueba que las sentencias SQL son correctas, sencillamente las pasa a la base de datos.
la conexin Crear una orden SQL Ejecutarla Procesar los resultados Cerrar la conexin
5
Conexin con la base de datos predeterminada del equipo local con autenticacin integrada:
jdbc:sqlserver://localhost;integratedSecurity=true;
jdbc:sqlserver://localhost;databaseName=Adventur eWorks;integratedSecurity=true;
Conexin en el puerto predeterminado con el servidor remoto:
jdbc:sqlserver://localhost:1433;databaseName=A dventureWorks;integratedSecurity=true;
Conexin mediante la especificacin de un nombre de aplicacin personalizada:
Todas las interacciones con la base de datos tienen lugar a travs del objeto SQLServerConnection
> INSTRUCCIN: Connection con = DriverManager.getConnection(url,"myLogin", "myPassword"); Representa un enlace desde una aplicacin Java con una base de datos. Todas las sentencias SQL y los resultados se devuelven en el contexto de una conexin.
9
INSTRUCCIN: ResultSet rs = stmt.executeQuery(select nombre where direccion like Santiago); while (rs.next()) { String s = rs.getString(nombre); int y = rs.getInt(ao); System.out.println(s+ +y); } ResultSet rs contiene una coleccin de filas con los resultados de la pregunta. La instruccin next avanza un puntero que indica en qu fila estamos actualmente. Al principio est antes de la primera fila, por lo cual se hace necesario ejecutar un next() para situarse en la primera.
10
Statement: Este objeto es usado para enviar sentecias SQL simples. Es creado por el mtodo createStatement.
PreparedStatement: Este objeto es usado para sentencias que requieren uno o ms parmetros. La sentencia es precompilada y guardada para uso futuro.
INTRUCCIN:
En este momento la statement existe pero no tiene una sentencia SQL para ejecutar. Esta se puede pasar con los mtodos:
executeUpdate(String), usada para crear/modificar tablas (no hay resultados), tpicamente para create, update, delete. executeQuery(String) para hacer consultas, retornan resultados en un objeto de la clase ResultSet, tpicamente para select.
12
> stmt.executeUpdate(create table alumno (nombre varchar(32), matricula integer, direccion varchar(40), aonac integer, ...); > stmt.executeUpdate(insert into alumnos (Valeria Valencia , 00998852678, Calle bonita 223 Vitacura Stgo, 1974, ...); > stmt.executeQuery(select * from alumnos + where aonac = 1974);
13
> Cada instancia se identifica con un nombre concreto. > Para conectarse a una instancia con nombre de SQL Server, puede especificar el nmero de puerto de la instancia con nombre o bien el nombre de instancia como propiedad de URL de JDBC o propiedad datasource.
14
> Para usar un nmero de puerto: jdbc:sqlserver://localhost:1433;integratedSecurity=tr ue;<more properties as required>; > Para usar una propiedad URL de JDBC: jdbc:sqlserver://localhost;instanceName=instance1;int egratedSecurity=true;<more properties as required>;
15
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JOptionPane;
16
17
> Class.forName("com.microsoft.sqlserver.jdbc.SQ LServerDriver"); > Connection con = DriverManager.getConnection("jdbc:sqlserver:// 192.168.0.1:1433;databaseName=@dbname"; "@username", "@password"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM table"); while (rs.next()) > {
String value = rs.getString("field");
> }
Donde:
18
@dbname es el nombre de la base de datos @username es el nombre de usuario de la conexin @password es la clave del usuario de la conexin
> http://msdn.microsoft.com/eses/library/ms378672(v=sql.90).aspx > http://translate.google.com/translate? hl=es&sl=en&u=http://support.micros oft.com/kb/313100&ei=rT-2TfbN4O6sQOc24GpAQ&sa=X&oi=translat e&ct=result&resnum=3&sqi=2&ved=0 CDAQ7gEwAg&prev=/search%3Fq%3D jdbc%2Bsql%2Bserver%26hl%3Des% 26biw%3D1280%26bih%3D675%26pr md%3Divns > http://www.dcc.uchile.cl/~lmateu/CC6 0H/Trabajos/jfernand/ > http://www.lelissam.com/content/cone xi%C3%B3n-java-jdbc-con-sql-server > http://fosterx.blogspot.com/2007/11/c onexion-sqlserver-traves-de-jdbc.html
19