Sunteți pe pagina 1din 13

Buscar

comentrios

postfavorito(21)

Criando uma aplicao com


acesso a Banco de Dados no
NetBeans
O NetBeans no possui ferramentas que permitam criar
visualmente componentes, em um programa, para
manipular os dados de uma tabela, a exemplo dos
existentes em outras ferramentas, em outras Linguagens
de programao.

22

Gostei(8)

(1)

Curtir

22


Introduo
ONetBeansnopossuiferramentasquepermitamcriarvisualmentecomponentes,emum
programa,paramanipularosdadosdeumatabela,aexemplodosexistentesemoutras
ferramentas,emoutrasLinguagensdeprogramao.

ParatrabalharcomBancodeDadosprecisofazloviacdigo,quedeverserinserido
dentrodomtodoactionPerformeddeumJButton.

CriaseoFormulriocontendooscomponentesvisuaisparamostrar,emanipular,os
dadosdatabeladoBancodeDados.Dentreestescomponentesestoosbotesoumenus,
osquaisseroosresponsveisporexecutaroscdigospararealizarumadeterminada
operao,consulta,insero,alteraoouexclusoemumBD.

Depoisdecriadaapartevisual,devemserimplementadososcdigosnosbotes/menus.
Podemosconstruirumaaplicaousandooseguinteroteiro:

1)Importaropacotejava.sql:

importjava.sql.*

2)CarregarodriverdeacessoaoBD:
AtravsdaInstalaodeumafonteJDBC/ODBCemplataformaWindows:

Class.forName(sun.jdbc.odbc.JdbcObdcDriver)


Atravsdodriverespecficodobanco.ExparaoMySQL:

Class.forName(com.mysql.jdbc.Driver)

3)ObterumaconexocomoBD:(Ex:paraumBancodeDadosAccess:IJPlanetas.mdb,
atravsdeumafonteJDBC/ODBC)

Connectionconexo=DriverManager.getConnection(jdbc:odbc:IJPlanetas)

4)Pormeiodaconexorealizada,devemosobterumainstnciadeumobjetoStatement,
PreparedStatementouCallableStatement,parapassarcomandosSQLaoBD:

Statementstmt=conexo.createStatement()

5)CriarobjetosparaexecutaroperaesnoBD(execute(String),executeQuery(String),
ExecuteUpdate(String),executeBatch()):

intreg=stmt.executeUpdate(deletefromplanetawherenome=Maria)

ResultSetrs=stmt.executeQuery(selectnomefromplaneta)

6)AlgumasoperaesretornamresultadosdoBD(umobjetoResultsetconjuntode
registros),osquaisdevemosexibirouprocessar:

while(rs.next()){//moveocursoderegistros

StringNome=rs.getString(nome)//obtmovalordocampo
nomedatabela

System.out.println(Nome)

7)Quandonoprecisarmaisdosobjetosobtidos,libereos:

rs.close()

stmt.close()

8)ApstodasasoperaesencerreaconexocomBD:

conexo.close()

ExemploCompleto
CrieumaaplicaoparacadastraraMatriculaeosNomesdosFuncionriosdeuma
Empresa,emumBancodeDadosAccess,atravsdeumafontededadosJDBC/ODBC:
CriarumnovoProject:cliquenomenuFile>>NewProject>>selecioneGeneral
>>JavaApplicatin>>Next>>naprximajaneladigiteonodoProjeto:
ExemploConexaoBD,cliqueemFinish.
CriarumJFormcontendooscomponentesvisuais:CliquenoMenuFile>>NewFile
>>SelecioneJavaGUIForms>>JFrameForms>>cliquenobotoNext.Najanelaquese
abre,nocampoName,digiteSistCadFuncecliquenoBotoFinish.
Insiraosseguintescomponentes:doisJLabel(NomeeMatricula),doisJTextFielde
umJButton(Salvar).

Figura1TelaSistCadFunc.

Apartevisualestaconstruda,faltaocdigoparasalvarosdados.

AbraoAccessecrieumBD(BDCadastro)comumaTabela(TabFicha)comos
campos:Matricula(TipoNumrico/ChavePrimria)eNomeTipoTexto.
CriarafontededadosJDBC/ODBC:Nowindows,abraoPaineldeControle>>
FerramentasAdministrativas>>FontesdeDadosODBC>>cliquenoBotoAdd>>
SelecioneoDriverp/BDAccess>>cliquenobotoConcluir>>nocampoNomedaFonte
deDadosdigiteBDCadastro>>cliquenobotoSelecionar>>ProcureoBDcriado
(BDCadastro)ecliquenoBotoOK>>OK>>OK.

Figura2TeladeAberturadaFontedeDadosODBC.

Figura3TeladeSeleodoDriver.

Figura4TeladeConfiguraodoDriver.


Figura5TeladeSeleodoBancoAccess.

CriadooBDeaFonteODBC,volteparaasuaaplicaonoNetBeansecliquecomoboto
direitodomousenoJButton(Salvar),selecioneEvent>>Action>>actionPerformed,
paracodificaraconexo:
DepoisdeprivatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){,
digite:

try{//tratamentodeerros

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")//DriverJDBCFonte
deDadosODBC

//conectanoBD,asaspasvaziasrepresentamoLogin:usurioe
senha.

Connectioncon=
DriverManager.getConnection("jdbc:odbc:BDCadastro","","")

Statementstmt=con.createStatement()//objetocomdosql

intcadMat=Integer.parseInt(jTextField1.getText())

StringcadNome=jTextField2.getText()//obtmnomedigitado

stmt.executeUpdate("insertintoTabFicha(Matricula,Nome)values('"
+cadMat+"','"+cadNome+"')")

JOptionPane.showMessageDialog(this,"DadosSalvos!")

con.close()//fechaconexocomBD

}catch(SQLExceptione){//trataoserrosSQL

JOptionPane.showMessageDialog(this,"ErroCmdoSQL"+
e.getMessage())

}catch(ClassNotFoundExceptione){//trataerrosdeconexo

JOptionPane.showMessageDialog(this,"Drivernoencontrado"
)

ImportarospacotessqleswingdoJavaantesde:publicclassSistCadFunc...
digite:

importjava.sql.*

importjavax.swing.*

DEVMEDIA

Compile(F9)Execute(Shift+F6).

RealizandooperaesdeConsulta,AlteraoeExclusoemBD:

LOGIN

InsiratrsBotesparaexecutarasoperaesrestantesnoBancodeDados
(Consulta,AlteraoeExcluso,atravsdaMatricula),umJLabel,paraexibiroTexto
MatriculaparaConsulta/Excluso,supondoqueestasoperaesserofeitasatravsdo
campoMatricula,einsiratambmumJTextFieldparausuriopoderdigitaraMatricula,
oucrieumnovoFormcontendoosJLabel,JTextField,eJButton,sendoqueomesmo
deverserchamadoporoutroFormatravsdeumJMenurBar.
Supondoqueforaminseridososnovoscomponentesdaseguinteforma:

Figura6TelaSistCadFuncatualizada.

Bastaclicarcomobotodireitodomousesobreobotodesejadoeinseriro
respectivocdigoparaarespectivaoperao:

OperaodeConsulta(AtravsdaMatriculadigitadapelousurionojTextField3)

booleanconsulta=true

try{//tratamentodeerros

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")//buscaDriver

//conectanoBD

Connection
con=DriverManager.getConnection("jdbc:odbc:BDCadastro","","")

Statementstmt=con.createStatement()//objetocomdosql

intConsMatricula=Integer.parseInt(jTextField3.getText())

ResultSetRS=stmt.executeQuery("Select*fromTabFichawhere
Matricula="+ConsMatricula)

while(RS.next()){

//ExibirosvaloresretornadosnaconsultanosjTextField

intMat=RS.getInt("Matricula")//PegaaMatricula

jTextField1.setText(String.valueOf(Mat))//converteInteiro
paraString.

jTextField2.setText(RS.getString("Nome"))//PegaoNome

consulta=false

JOptionPane.showMessageDialog(this,"DadosEncontrados!")

if(consulta)JOptionPane.showMessageDialog(this,"DadosNo
Encontrados!")

RS.close()

stmt.close()

con.close()//fechaconexocomBD

}catch(SQLExceptione){//trataoserros

JOptionPane.showMessageDialog(this,"ErroCmdoSQL

"+e.getMessage())

}catch(ClassNotFoundExceptione){

JOptionPane.showMessageDialog(this,"Drivernoencontrado")

Alterar:(RealizaalteraodosdadosatravsdaMatriculainformadanojTextField3)

try{//tratamentodeerros

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")//buscaDriver

//conectanoBD

Connection
con=DriverManager.getConnection("jdbc:odbc:BDCadastro","","")

Statementstmt=con.createStatement()//objetocomdosql

intconsMatricula=Integer.parseInt(jTextField3.getText())

intcadMat=Integer.parseInt(jTextField1.getText())

StringcadNome=jTextField2.getText()

intregistro=stmt.executeUpdate("updateTabFichasetNome='"+cadNome+
"',Matricula="+cadMat+"whereMatricula="+consMatricula)

if(registro!=0)JOptionPane.showMessageDialog(this,"DadosAlterados!")

elseJOptionPane.showMessageDialog(this,"DadosNo
Alterados!")

stmt.close()

con.close()//fechaconexocomBD

}catch(SQLExceptione){//trataoserros

JOptionPane.showMessageDialog(this,"ErroCmdoSQL
"+e.getMessage())

}catch(ClassNotFoundExceptione){

JOptionPane.showMessageDialog(this,"Drivernoencontrado")

Excluir:(RealizaexclusodoregistroatravsdaMatriculainformadanojTextField3)

try{//tratamentodeerros

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")//buscaDriver

//conectanoBD

Connection
con=DriverManager.getConnection("jdbc:odbc:BDCadastro","","")

Statementstmt=con.createStatement()//objetocomdosql

intexcMatricula=Integer.parseInt(jTextField3.getText())

intregistro=stmt.executeUpdate("deletefromTabFichawhere
Matricula="+excMatricula)

if(registro!=0)JOptionPane.showMessageDialog(this,"DadosExcluidos!")

elseJOptionPane.showMessageDialog(this,"DadosnoExcluidos!")

stmt.close()

jTextField3.setText()//Limpaacaixadetexto

con.close()//fechaconexocomBD

}catch(SQLExceptione){//trataoserros

JOptionPane.showMessageDialog(this,"ErroCmdoSQL
"+e.getMessage())

}catch(ClassNotFoundExceptione){

JOptionPane.showMessageDialog(this,"Drivernoencontrado")

CompileExecute
OBS:ComooscomandosdeconexocomoBancodeDadosestoserepetido,osmesmos
poderiamserimplementadosdentrodomtodoconstrutoroudentrodeummtodoe
seremexecutadosatravsdeumachamadadestemtodoquandosedesejarestabelecer
umaconexocomobancodedadospararealizarumadeterminadaoperaoemsuas
tabelas,diminuindoaquantidadedecdigoaserdigitado.

JosValneyMeloBarbalho
JosValneyMeloBarbalho(jvmb@ibest.com.br),MBAemGSI.

Oquevocachoudestepost?

S-ar putea să vă placă și