Este ejemplo es muy sencillo pero espero que les ayude para comprender mejor sobre el enlace de datos de SQLServer con JAVA.
vamos a crear una aplicación de escritorio en JAVA y nombramos enlace.
voy a ignorar pasos suponiendo que ya tienen algo de experiencia en la programación en aplicaciones de escritorio.
vamos directamente al código.
package enlace;
import java.sql.*;
import javax.swing.JOptionPane;
public class frmDatos extends javax.swing.JFrame {
private Connection cnn=null;
private Statement st=null;
private ResultSet rs=null;
private String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String ruta = "jdbc:sqlserver://SERVIDOR;databaseName=BASEDATOS";
public frmDatos() {
initComponents();
conectar();
}
private void mostrar()
{
try {
txtCampo1.setText(rs.getString("campo1"));
this.txtCampo2.setText(rs.getString("campo2"));
} catch (Exception ex) {
System.err.println("Error en registro:" + ex.getMessage());
}
}
private void conectar()
{
try {
Class.forName(driver);
cnn=DriverManager.getConnection(ruta,"sa","contraseña");
st=cnn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery("SELECT * FROM Tabla");
rs.next();
this.mostrar();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex, "error", 0);
}
}
Supongo que SERVIDOR significa el servidor al cual ustedes están enlazandoce y los demas datos son iguales. si todo esta bien cuando ejecuten la aplicación verán que mostrara el primer registro que tengan capturado, bueno ahora la pregunta seria "como recorrer los campos y mostrarlos en los textbox.
vamos a agregar 4 botones y los nombraremos como txtPrimero, txtSiguiente,txtUltimo y txtAnterior. Una vez que le demos dobleclic sobre cada botón se activara el evento ActionPerformed que es equivalente al Click dentro de C#.
private void txtUltimoActionPerformed(java.awt.event.ActionEvent evt) {
try{
rs.last();//ultimo registro
mostrar(); //enlazamos el campo a su textbox
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex);
}
}
private void txtSiguienteActionPerformed(java.awt.event.ActionEvent evt) {
try{
rs.next();
mostrar();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex);
}
}
private void txtAnteriorActionPerformed(java.awt.event.ActionEvent evt) {
try{
rs.previous();
mostrar();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null,ex);
}
}
private void txtPrimeroActionPerformed(java.awt.event.ActionEvent evt) {
try{
rs.first();
mostrar();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex);
}
}
vamos a crear una aplicación de escritorio en JAVA y nombramos enlace.
voy a ignorar pasos suponiendo que ya tienen algo de experiencia en la programación en aplicaciones de escritorio.
vamos directamente al código.
package enlace;
import java.sql.*;
import javax.swing.JOptionPane;
public class frmDatos extends javax.swing.JFrame {
private Connection cnn=null;
private Statement st=null;
private ResultSet rs=null;
private String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String ruta = "jdbc:sqlserver://SERVIDOR;databaseName=BASEDATOS";
public frmDatos() {
initComponents();
conectar();
}
private void mostrar()
{
try {
txtCampo1.setText(rs.getString("campo1"));
this.txtCampo2.setText(rs.getString("campo2"));
} catch (Exception ex) {
System.err.println("Error en registro:" + ex.getMessage());
}
}
private void conectar()
{
try {
Class.forName(driver);
cnn=DriverManager.getConnection(ruta,"sa","contraseña");
st=cnn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery("SELECT * FROM Tabla");
rs.next();
this.mostrar();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex, "error", 0);
}
}
Supongo que SERVIDOR significa el servidor al cual ustedes están enlazandoce y los demas datos son iguales. si todo esta bien cuando ejecuten la aplicación verán que mostrara el primer registro que tengan capturado, bueno ahora la pregunta seria "como recorrer los campos y mostrarlos en los textbox.
vamos a agregar 4 botones y los nombraremos como txtPrimero, txtSiguiente,txtUltimo y txtAnterior. Una vez que le demos dobleclic sobre cada botón se activara el evento ActionPerformed que es equivalente al Click dentro de C#.
private void txtUltimoActionPerformed(java.awt.event.ActionEvent evt) {
try{
rs.last();//ultimo registro
mostrar(); //enlazamos el campo a su textbox
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex);
}
}
private void txtSiguienteActionPerformed(java.awt.event.ActionEvent evt) {
try{
rs.next();
mostrar();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex);
}
}
private void txtAnteriorActionPerformed(java.awt.event.ActionEvent evt) {
try{
rs.previous();
mostrar();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null,ex);
}
}
private void txtPrimeroActionPerformed(java.awt.event.ActionEvent evt) {
try{
rs.first();
mostrar();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex);
}
}
y listo. ejecutamos la aplicación y veremos cuando le damos clic en cada botón para ver como recorremos los registros. Espero que les haya sido de utilidad.
Comentarios
Publicar un comentario