[dúvida] applet e banco de dados

Estou com uma dúvida de como conectar um applet em um banco.

Pelo menos este não está dando certo não.

Vejam o código:

[code]import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JOptionPane;

public class AppletJDBCDrop extends JApplet implements ActionListener {

private Connection connection;

private JList tableList;

private JButton dropButton;

public void init() {
Connection connection;
try {
Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
//ou com.mysql.jdbc.Driver
connection =
DriverManager .getConnection(“jdbc:mysql://localhost/banco?user=root&password=2017”);
JOptionPane.showMessageDialog(null,“Conectado!”);

} catch (Exception connectException) {
    JOptionPane.showMessageDialog(null,"Não conectado!",
    "", JOptionPane.ERROR_MESSAGE);
  connectException.printStackTrace();
}

Container c = getContentPane();
tableList = new JList();
//loadTables();
c.add(new JScrollPane(tableList), BorderLayout.NORTH);

dropButton = new JButton("select Table");
dropButton.addActionListener(this);
c.add(dropButton, BorderLayout.SOUTH);

}

public void actionPerformed(ActionEvent e) {
try {
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(“select * from db;”
+ tableList.getSelectedValue());
} catch (SQLException actionException) {
}
}

private void loadTables() {
Vector v = new Vector();
try {
  Statement statement = connection.createStatement();
  ResultSet rs = statement.executeQuery("SHOW db");

  while (rs.next()) {
    v.addElement(rs.getString(1));
  } 
  
  rs.close();
  
} catch (SQLException e) {
    JOptionPane.showMessageDialog(null, "Não deu certo!",
    "", JOptionPane.ERROR_MESSAGE);
} 


v.addElement("acc_acc");
v.addElement("acc_add");
v.addElement("junk");
tableList.setListData(v);

}
}
[/code]

Veja o que acontece toda vez:

Espero que possam me ajudar.

Obrigado.

Cara para abrir conexão com o banco de dados,
acessar arquivos, ou realizar qualquer tarefa de IO
através de um applet este precisa ser assinado.

Como assim?

Explica melhor, pois este é meu primeiro exemplo de código com banco de dados.

Obrigado.

Se você puder, não use applets para conectar-se a bancos de dados. Dá tanto problema e dor de cabeça* que é melhor usar uma aplicação normal (aquelas com “public static void main”).
Se sua aplicação obrigatoriamente tem de ser uma applet e tem de se conectar a um banco de dados, não faça a conexão diretamente a partir de sua applet. Crie uma página JSP / ASPX / PHP ( ou sei lá o que você achar melhor ) que faça as consultas, atualizações etc. que têm de ser feitas no banco, e faça a sua applet chamar essa página (via URLConnection).

  • Eu digo e repito: não use applets que chamam diretamente o banco de dados.

Ué, mas só que tenho que fazer, então tenho que aprender isso.