En ella se ara la conexión con una base de datos.
CODIGO:
MySql.java
private static Connection conn;
public static Connection geConnection(){
try {
String host =
"jdbc:derby://localhost:1527/MiAgenda";
String uName = "TonoHdz";
String uPass =
"averatec";
conn =
DriverManager.getConnection(host,uName,uPass);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Error "+e.getMessage());
}
return conn;
}
Paso 2: Se ara un JFrame, para diseñar y agregar codigo.
En mi caso quedo asi:
Enfrente de name, phone, mobile, id, enfrente de cada uno de ellos esta un txtfield solo que el relleno lo puse color gris como el del panel y el borde se lo quite. Para que solo se vieran las letras y no los bordes ni nada de eso.
Este es el codigo del Jframe que en mi caso lo llame contactos.
CODIGO:
contactos.java
public class contactos extends
javax.swing.JFrame {
DefaultTableModel model;
Connection conn;
Statement sent;
/**
* Creates new form contactos
*/
public contactos() {
initComponents();
conn = MySql.geConnection();
Desabilitar();
Llenar();
}
void Desabilitar(){
txtId.setEditable(false);
txtNombre.setEditable(false);
txtEmpresa.setEditable(false);
txtTelCel.setEditable(false);
txtCorreo.setEditable(false);
}
void Limpiar(){
txtId.setText("");
txtNombre.setText("");
txtEmpresa.setText("");
txtTelCel.setText("");
txtCorreo.setText("");
}
void Habilitar(){
txtId.setEditable(true);
txtNombre.setEditable(true);
txtEmpresa.setEditable(true);
txtTelCel.setEditable(true);
txtCorreo.setEditable(true);
txtId.requestFocus();
}
void Llenar(){
try {
conn = MySql.geConnection();
String[]
titulos={"Id","Nombre","Empresa","TelCel","Correo"};
String sql="select * from
APP.CONTACTOS";
model = new DefaultTableModel
(null, titulos);
sent = conn.createStatement();
ResultSet rs =
sent.executeQuery(sql);
String[] fila=new String[5];
while (rs.next()) {
fila[0] =
rs.getString("Id");
fila[1] =
rs.getString("Nombre");
fila[2] =
rs.getString("Empresa");
fila[3] =
rs.getString("TelCel");
fila[4] =
rs.getString("Correo");
model.addRow(fila);
}
jTable1.setModel(model);
} catch (Exception e){
e.printStackTrace();
}
}
Lo anterior va antes del
código que genera el asistente de NetBeans
Programación para los
botones:
*****************************************************************
private void
btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {
Limpiar();
Habilitar();
}
*****************************************************************
private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt)
{
try {
String sql = "insert into
app.contactos (id,Nombre,Empresa,TelCel,Correo)"
+"values(?,?,?,?,?)";
PreparedStatement ps =
conn.prepareCall(sql);
ps.setString(1, txtId.getText());
ps.setString(2,
txtNombre.getText());
ps.setString(3,
txtEmpresa.getText());
ps.setString(4,
txtTelCel.getText());
ps.setString(5,
txtCorreo.getText());
int n=ps.executeUpdate();
if (n>0){
JOptionPane.showMessageDialog(null,"Datos Guardados
correctamente");
}
} catch (Exception e){
JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
}
Llenar();
Limpiar();
}
*****************************************************************
private void btnModificarActionPerformed(java.awt.event.ActionEvent evt)
{
try{
String sql="Update
app.contactos set Nombre =?, Empresa=?, Telcel=?, Correo=?"+"where
Id=?";
int fila=jTable1.getSelectedRow();
String dao=(String)
jTable1.getValueAt(fila, 0);
PreparedStatement
ps=conn.prepareStatement(sql);
//ps.setString(1, txtId.getText());
ps.setString(1, txtNombre.getText());
ps.setString(2,
txtEmpresa.getText());
ps.setString(3,
txtTelCel.getText());
ps.setString(4,
txtCorreo.getText());
ps.setString(5, dao);
int n=ps.executeUpdate();
if (n>0){
Limpiar();
Llenar();
JOptionPane.showMessageDialog(null,"Datos Modificados");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
}
}
*****************************************************************
private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt)
{
try{
int fila=jTable1.getSelectedRow();
String sql="delete from
app.contactos where id="+jTable1.getValueAt(fila,0);
sent=conn.createStatement();
int n=sent.executeUpdate(sql);
if (n>0) {
Llenar();
JOptionPane.showMessageDialog(null,"Datos eliminados");
Limpiar();
}
} catch (Exception e){
JOptionPane.showMessageDialog(null,"Error "+e.getMessage());
}
}
*****************************************************************
private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt)
{
System.exit(0);
}
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
if (evt.getButton()==1){
int fila=jTable1.getSelectedRow();
try {
Habilitar();
String sql="select * from
app.contactos where id=" + jTable1.getValueAt(fila,0);
sent=conn.createStatement();
ResultSet
rs=sent.executeQuery(sql);
rs.next();
txtId.setText(rs.getString("Id"));
txtNombre.setText(rs.getString("Nombre"));
txtEmpresa.setText(rs.getString("Empresa"));
txtTelCel.setText(rs.getString("Telcel"));
txtCorreo.setText(rs.getString("Correo"));
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
*****************************************************************
private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt)
{
Limpiar();
try {
conn = MySql.geConnection();
String[]
titulos={"Id","Nombre","Empresa","TelCel","Correo"};
String sql="select * from
app.contactos where Nombre like
'"+"%"+jtBuscar.getText()+"%'";
model = new DefaultTableModel
(null, titulos);
sent = conn.createStatement();
ResultSet rs=sent.executeQuery(sql);
String[] fila=new String[5];
while (rs.next()) {
fila[0] =
rs.getString("Id");
fila[1] =
rs.getString("Nombre");
fila[2] =
rs.getString("Empresa");
fila[3] =
rs.getString("TelCel");
fila[4] =
rs.getString("Correo");
model.addRow(fila);
}
jTable1.setModel(model);
jtBuscar.setText("");
} catch (Exception e){
e.printStackTrace();
}
}
LISTO, NUESTRA APLICACIÓN AGENDA ESTA LISTA PARA USARSE.
sin mencionar que falto hacer la base de datos
ResponderEliminarNo me compila me aparecen errores
ResponderEliminarNo me compila me aparecen errores
ResponderEliminar