Laboratorio de netbeans sql server15-04-2013

409 views

Published on

Aplicacion inicial en Java con Netbeans y JDBC

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
409
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Laboratorio de netbeans sql server15-04-2013

  1. 1. ProfArturoFlorianHerencia SISE28-01-2009 LaboratoriodeLenguajedeProg-I(Netbeans) 1-ElObjetivodelaguiaes desarrollar laprimeraaplicaciónenJavaqueinteractúeconuna basedeDatosde SqlServer2005(Sistemacont) .Inicialmente se debeconfigurarelSqlserver2005paraconectarsealservidor con autentificación SQL conelUsuariosaysincontraseña.LuegoseprocedearestaurarlaBDSistemacont , utilizandoelarchivobackup. Ejecutar Netbean 6.5.1 y crear un Nuevo Proyecto denominado Appsistema con la configuración inicial siguiente: Conlocualsecrearaelpaqueteinicial denominadoappsistemayensuinteriorlaclasePrincipalquecontiene elmétodo main(puntoinicialdeejecucióndetodaaplicaciónenJava). Adicionalmentese debe crearlossiguientesPaquetesdentrode SourcePackages: forms.-ContendrátodoslosFrames(formularios)delaAplicación.Tambiénseledenominaui,Cliente,interfaz modelo.- contendrá todas las clases no visuales que seobtienen de realizar la abstracción para resolver el problema(Ejemplo:ConexBD,Usuario,UsuarioBD,Personal,PersonalBD,…etc). resources.-Contendrálasimágenes,videosydiversosrecursosmultimediaqueutilizalaaplicación. Elsiguientepasoesfundamental: AgregaralaseccióndeLibrariesdelProyectoelArchivocontrolador dela BD (driver) autilizar,enestecasoessqljdbc.jar . Laaplicaciónutilizaralasdiversasclaseseinterfacesque incorpora eldriveroarchivocontroladordelaBD,así comosusmétodoscorrespondientes,paraaccederalas operacionesalaBD. -Incorporar al paquete modelo la clase base ConexBD.java que ha sido desarrollada en clase y realiza la conexión inicial con una Base deDatos especifica. Verificar que elpaquete que utiliza ConexBD se llame modelo.(packagemodelo;)
  2. 2. ProfArturoFlorianHerencia SISE28-01-2009 -CrearlossiguientesFormulariosJFrameFormenelpaqueteforms: FrmAcceso Frmmenu txtusu txtclave 2-Crear laclase Usuario dentro delpaquete modelo, lacual contendrá losatributos quecontiene cualquier usuariodelaaplicación:usuario,claveynivel.Los3atributossondetipocadenayquedebecorresponder con loscamposdelatablausuario.Sedebenencapsularloscamposdeestaclase(crearlosMétodosgetyset) packagemodelo; publicclassUsuario { protected Stringusuario; protected Stringclave; protected Stringnivel; publicUsuario(){ usuario=""; clave=""; nivel=""; } publicUsuario(Stringusuario,Stringclave,Stringnivel){ this.usuario=usuario; this.clave=clave; this.nivel=nivel; } publicStringgetUsuario(){ returnusuario; } publicvoidsetUsuario(Stringusuario){ this.usuario=usuario; } publicStringgetClave(){ returnclave; } publicvoidsetClave(Stringclave){ this.clave=clave; } publicStringgetNivel(){ returnnivel; } publicvoidsetNivel(Stringnivel){ this.nivel=nivel; }
  3. 3. ProfArturoFlorianHerencia SISE28-01-2009 } 3-Crear laclase UsuarioBD dentro del paquete modelo ,que hereda de la clase ConexBD sus atributos y métodos.Posteriormente Ud.crearalasclasesPersonalBD,VentasBDyProductosBDquetambiéntienencomo clasepadreaConexBD.ElcontenidodelaclaseUsuarioBDsera: packagemodelo; importjava.sql.Connection; importjava.sql.ResultSet; importjava.sql.SQLException; publicclassUsuarioBDextendsConexBD{ privateUsuariousuario; privateStringtabla; publicUsuarioBD(Stringbd){ super(bd); tabla="Usuarios"; try{ st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs=st.executeQuery("Select*from"+tabla); }catch(SQLExceptione1){ System.out.println("ERROR SQL:"+e1.getMessage()); } } public booleaninsertar(Usuariou){ sql="insertinto"+tabla+"values('"+u.getUsuario()+ "','"+u.getClave()+"','"+ u.getNivel()+"')"; try{ st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); st.executeUpdate(sql); rs=st.executeQuery("SELECT*FROM"+tabla); returntrue; } catch(SQLExceptione1){ System.out.println("ERROR SQL:"+e1.getMessage()); returnfalse; } } publicbooleaneliminar(Stringusuario){ sql="deletefrom"+tabla+"whereusuario='"+usuario+"'"; try{ st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); st.executeUpdate(sql); rs=st.executeQuery("SELECT*FROM"+tabla); returntrue; } catch(SQLExceptione1){ System.out.println("ERROR SQL:"+e1.getMessage()); returnfalse; } } }
  4. 4. ProfArturoFlorianHerencia SISE28-01-2009 4-AgregarlosMétodosdeAccesogetXXysetXXalos2atributosdeestaclase(usuarioytabla),entotalson4 métodosagenerar: -getUsuario,setUsuario,getTablaysetTabla. ParalocualseñalarunatributodelaclaseUsuarioBDpulsarelbotónderechodelmouseyseñalar -Refactor -EncapsulateFields(Encapsularloscampos oatributos,esdecirgenerarlosmétodosgetyset) -Señalarlascasillasdelos4métodos ypulsarelbotónrefactor(refactorizar). 5-ModificarlacabeceradelaclaseFrmAcceso agregandoelobjeto u1 queseinstanciadelaclase UsuarioBDy también modificarelconstructorparahacerlaconexiónconlabdsistemacont. publicclassFrmAccesoextendsjavax.swing.JFrame { UsuarioBDu1; /**CreatesnewformFrmUsuario*/ publicFrmAcceso(){ initComponents(); u1=newUsuarioBD("sistemacont"); } -AgregarelsiguientecódigoalbotónAceptar: privatevoidbtnAceptarActionPerformed(java.awt.event.ActionEvent evt){ Stringusuario,clave; usuario=txtusu.getText(); clave=newString(txtclave.getPassword()); booleanhallado=false; try { ResultSetrs=u1.getSt().executeQuery("select *fromusuarioswhereusuario='"+usuario+"'and clave='"+ clave+"'" ); if(rs.next()) { //sielusuarioyclavesonlascorrectasseprocedeamostrarelmenuprincipal maximizado Frmmenum1=newFrmmenu(); m1.setExtendedState( Frmmenu.MAXIMIZED_BOTH); m1.setVisible(true); this.setVisible(false); } else { //sinosemuestraunmensajedeerror JOptionPane.showMessageDialog(null, "UsuariooClaveIncorrecta"); hallado=false; } } catch(SQLException e1){ System.out.println("ERROR SQL:"+e1.getMessage()); } }
  5. 5. ProfArturoFlorianHerencia SISE28-01-2009 Frmmenu(JFrameForm) -CrearelFormularioFrmUsuariodelaclaseJDialogForm enelpaqueteforms. FrmUsuario (JDialogForm) formulariomodal tblusuarios (JTable )
  6. 6. ProfArturoFlorianHerencia SISE28-01-2009 txtusu txtclave txtnivel Modificar la cabecera de la clase FrmUsuario agregando el Atributo u1 que se instancia de la clase UsuarioBDytambién modificarelconstructorparahacerlaconexiónconlabd sistemacont. publicclassFrmUsuarioextendsjavax.swing.JDialog { UsuarioBDu1; /**CreatesnewformFrmUsuario*/ publicFrmUsuario(java.awt.Frame parent,booleanmodal){ super(parent,modal); initComponents(); u1=newUsuarioBD("sistemacont"); Agregarestas 2lineas } -Para realizarelMovimientoatravésdelosregistrosdelatablaconlosbotonesdeDesplazamiento(primero, anterior,siguiente,ultimo),crearemoselmétodocargarRegelcualtieneunparámetroquedetipoenumerado queespecificarcualregistrodeseamosvisualizarenelformulario.Agregarestemétododespuésdelallavede cierredelconstructor: enumMovimiento{PRIMERO,ANTERIOR,SIGUIENTE,ULTIMO}; privatevoidcargarReg(Movimientor){ try{ ResultSetrsusu=u1.getRs(); switch(r) { casePRIMERO: rsusu.first(); break; caseANTERIOR: rsusu.previous();break; caseSIGUIENTE: rsusu.next();break; caseULTIMO: rsusu.last();break; } txtusu.setText(rsusu.getString(1));
  7. 7. ProfArturoFlorianHerencia SISE28-01-2009 txtclave.setText(rsusu.getString(2)); txtnivel.setText(rsusu.getString(3)); }catch(SQLExceptione1){ System.out.println("ERROR SQLencargarReg:"+e1.getMessage()); } } -ElcódigoparaelbotónGuardar(btnguardar)delaFichadeMantenimientodees: privatevoidbtnguardarActionPerformed(java.awt.event.ActionEvent evt){ //TODOaddyourhandlingcodehere: Stringusuario=txtusu.getText(); Stringclave=txtclave.getText(); String nivel=txtnivel.getText(); Usuariousu=newUsuario(usuario,clave,nivel); if(u1.insertar(usu)==true ) JOptionPane.showMessageDialog(this,"RegistroGuardado"); else JOptionPane.showMessageDialog(this, "ERRORalGuardarRegistro"); } -Código delbotónListado: privatevoidbtnlistadoActionPerformed(java.awt.event.ActionEvent evt){ DefaultTableModel modelo1=(DefaultTableModel)tblusuarios.getModel(); modelo1.setRowCount(0); try { ResultSetrs=u1.getRs(); rs.beforeFirst(); while(rs.next()){ Object[]datos={rs.getString(1),rs.getString(2),rs.getString(3) }; modelo1.addRow(datos); } }catch(SQLException e1){ System.out.println("Error SQL:"+e1.getMessage()); } }

×