Olá pessoal,
estou tentando executar um comando de SQL usando o JBuilder
4.0, peguei este exemplo no site http://www.lbd.dcc.ufmg.br/~nahur/tbd/ mas
quando compilo dá o seguinte erro:
Error #: 360 : unreported exception: java.lang.Exception; must
be caught or declared to be thrown at line 130, column 20
Alguém sabe o que signfica este erro? Segue o código que usei
para testar:
package jdbc;
import java.awt.*;
import java.awt.event.*; import javax.swing.*; import java.util.Vector; import java.sql.*; import com.borland.dx.sql.dataset.*; public class Frame1 extends JFrame { JPanel contentPane; Database database1 = new Database(); JTextField jTextField1 = new JTextField(); JButton jButton1 = new JButton(); JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JTextField jTextField2 = new JTextField(); /**Construct the frame*/
public Frame1() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } /**Component initialization*/
private void jbInit() throws Exception { jTextField1.setBounds(new Rectangle(43, 125, 201, 26)); database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:interbase://localhost/C:\\java\\JDBC\\BANCO.GDB", "SYSDBA", "masterkey", false, "interbase.interclient.Driver")); database1.setTransactionIsolation(java.sql.Connection.TRANSACTION_SERIALIZABLE); file://setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(null); this.setSize(new Dimension(400, 300)); this.setTitle("Agenda"); jButton1.setText("jButton1"); jButton1.setBounds(new Rectangle(46, 162, 93, 40)); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButton1_actionPerformed(e); } }); jLabel1.setText("Dinheiro:"); jLabel1.setBounds(new Rectangle(43, 108, 99, 17)); jLabel2.setText("Conta:"); jLabel2.setBounds(new Rectangle(41, 53, 41, 17)); jTextField2.setBounds(new Rectangle(42, 73, 179, 31)); contentPane.add(jButton1, null); contentPane.add(jTextField1, null); contentPane.add(jLabel1, null); contentPane.add(jLabel2, null); contentPane.add(jTextField2, null); } /**Overridden so we can exit when window is closed*/ protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } void faz_transferencia (int conta_origem, int conta_destino,
int valor)
throws Exception {
int co_saldo_init = 0, cd_saldo_init = 0;
java.sql.ResultSet results;
java.sql.Statement statement = database1.createStatement()
;
database1.start();
// 'Reseta' o autoCommit de forma que todos os comandos seja
executados dentro da mesma transação...
database1.setAutoCommit( false );
results = statement.executeQuery("SELECT SALDO FROM CONTAS
WHERE NUM_CONTA = " + conta_origem);
// Tenta posicionar no primeiro registro. Se der erro, gera
uma exceção.
if (results.next()) co_saldo_init = results.getInt("SALDO")
;
else {
database1.rollback();
throw new Exception(" ERRO: Conta origem não
existente.");
}
results = statement.executeQuery("SELECT SALDO FROM CONTAS
WHERE NUM_CONTA = " + conta_destino);
// Tenta posicionar no primeiro registro. Se der erro, gera
uma exceção.
if (results.next()) cd_saldo_init = results.getInt("SALDO")
;
else {
database1.rollback();
throw new Exception(" ERRO: Conta destino não
existente.");
}
if (co_saldo_init < valor) {
database1.rollback();
throw new Exception(" ERRO: Saldo
insuficiente.");
}
statement.executeUpdate("UPDATE CONTAS SET SALDO = SALDO - " +
valor + " WHERE NUM_CONTA = "+ conta_origem);
statement.executeUpdate("UPDATE CONTAS SET SALDO = SALDO + " +
valor + " WHERE NUM_CONTA = "+ conta_destino);
database1.commit();
results.close();
}
void jButton1_actionPerformed(ActionEvent e){
faz_transferencia(123, 456, 50); } } |
- Re: [java-list] Banco de dados no JBuilder Alan Carvalho de Assis
- Re: [java-list] Banco de dados no JBuilder Wilhem de Araujo Rodrigues
- Re: [java-list] Banco de dados no JBuilder Renato Quedas
- Re: [java-list] Banco de dados no JBuilder Alan Carvalho de Assis
- Re: [java-list] Banco de dados no JBuilder Alan Carvalho de Assis