Mas a msg de erro é só essa mesmo, não há mais informações sobre o erro!
Falows
Alan
-----Mensagem original-----
De: Renato Quedas <[EMAIL PROTECTED]>
Para: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Data: Segunda-feira, 13 de Agosto de 2001 10:52
Assunto: Re: [java-list] Banco de dados no JBuilder

Daria para mandar o stack trace inteiro?
Seria possivel colocar em negrito qual a linha que esta dando pau?
 
Aparentemente este erro é de compilação e ao que tudo indica esta sua linha 130
precisa estar dentro de um bloco try..catch. Mas se você mandar as duas informações acima, fica tudo mais fácil.
 
Abraços
 
Renato Quedas
 
----- Original Message -----
Sent: Wednesday, August 08, 2001 6:14 PM
Subject: [java-list] Banco de dados no JBuilder

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);
  }
}
 
 

Responder a