接続クラス:
public class ConectaSiscart {
static Connection connection = null;
Statement stm = null;
static String serverName = "192.168.0.222"; //caminho do servidor do BD
static String mydatabase ="risabel"; //nome do seu banco de dados
static String url = "jdbc:mysql://" + serverName + "/" + mydatabase;
static String username = "siscart"; //nome de um usuário de seu BD
static String password = "progsis"; //sua senha de acesso
public static Connection getConexao() {
try {
// Carregando o JDBC Driver padrão
Class.forName("com.mysql.jdbc.Driver");
// Configurando a nossa conexão com um banco de dados//
ResultSet results = null;
// connection = DriverManager.getConnection("jdbc:mysql://192.168.0.222/risabel?user=siscart&password=progsis");
connection = DriverManager.getConnection(url, username, password);
System.out.println("Connection é " + connection);
return connection;
} catch (ClassNotFoundException e) { //Driver não encontrado
System.out.println("O driver especificado nao foi encontrado.");
return null;
} catch (SQLException e) {
//Não conseguindo se conectar ao banco
System.out.println("Nao foi possivel conectar ao Banco de Dados.");
e.printStackTrace();
return null;
}
}
}
接続を行うメソッド。このメソッドは、マウスの lostfocus イベントに関連付けられており、必要なデータベースからアイテムを返します。
private void puxaemailsiscart() {
ConectaSiscart puxaemail = new ConectaSiscart();
Connection conectadomysql = ConectaSiscart.getConexao();
String servico = null;
if(cboxservico.getSelectedItem() == "Registro de Imóveis") {
servico = "reg_cab";
}
Statement stm = null;
ResultSet results = null;
try {
stm = conectadomysql.createStatement ();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
System.out.println();
results = stm.executeQuery ("SELECT * FROM " + servico + " WHERE protocolo =" + tfProtocolo.getText());
if(results.next()) {
tfEmailParte.setText(results.getString("Email").toString());
} else {
System.out.println("Protocolo nao encontrado");
}
results.close();
stm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
System.out.println("Closing the connection.");
if (conectadomysql != null) try { conectadomysql.close(); } catch (SQLException ignore) {}
}
}
});
しかし、何らかの理由で、2回目の試行で、org.mysqlをorg.sqlite.JDBCに変更します
java.sql.SQLException: 無効なデータベース アドレス: jdbc:mysql://192.168.0.222/risabel at org.sqlite.JDBC.createConnection(JDBC.java:110) at
org.sqlite.JDBC.connect(JDBC.java:87) で
java.sql.DriverManager.getConnection(未知のソース) で java.sql.DriverManager.getConnection(未知のソース) で ConectaSiscart.getConexao(ConectaSiscart.java:30) で telaprincipal$3.puxaemailsiscart(telaprincipal.java:359) で telaprincipal$3. java.awt.AWTEventMulticaster.focusLost(ソース不明) java.awt.Component.processFocusEvent(ソース不明) java.awt.Component.processEvent(ソース不明) java.awt.Container の focusLost(telaprincipal.java:350) java.awt.Component.dispatchEventImpl の .processEvent(不明なソース) java.awt.Container.dispatchEventImpl の(不明なソース) java.awt.Component.dispatchEvent の(不明なソース) java.awt.KeyboardFocusManager.redispatchEvent の(不明なソース) java.awt.DefaultKeyboardFocusManager.typeAheadAssertions で (不明なソース) java.awt.DefaultKeyboardFocusManager.typeAheadAssertions で。awt.DefaultKeyboardFocusManager.dispatchEvent(不明なソース) java.awt.Component.dispatchEventImpl で(不明なソース) java.awt.Container.dispatchEventImpl で(不明なソース) java.awt.Component.dispatchEvent(不明なソース) で java.awt. java.awt.EventQueue.access$200 の EventQueue.dispatchEventImpl (ソース不明) (ソース不明) java.awt.EventQueue$3.run (ソース不明) java.awt.EventQueue$3.run (ソース不明) java.security でjava.security.ProtectionDomain$1 の .AccessController.doPrivileged(ネイティブ メソッド).java.security.ProtectionDomain$1 の doIntersectionPrivilege(不明なソース) java.awt.EventQueue$4 の doIntersectionPrivilege(不明なソース) java.security.AccessController の awt.EventQueue$4.run(不明なソース)。java.security.ProtectionDomain$1 の doPrivileged (ネイティブ メソッド)。 (ソース不明) java.awt.EventDispatchThread.pumpEventsForHierarchy (ソース不明) java.awt.EventDispatchThread.pumpEvents (ソース不明) java.awt.EventDispatchThread.pumpEvents (ソース不明) java.awt.EventDispatchThread.run(不明)ソース) スレッド「AWT-EventQueue-0」での例外 java.lang.NullPointerException at telaprincipal$3.puxaemailsiscart(telaprincipal.java:367) at telaprincipal$3.focusLost(telaprincipal.java:350) at java.awt.AWTEventMulticaster.focusLost(ソース不明) java.awt.Component.processFocusEvent(不明なソース) java.awt.Component.processEvent(不明なソース) で java.awt.Container.processEvent(不明なソース) java.awt.Component.dispatchEventImpl(不明なソース) で java.awt.Container. java.awt.Component.dispatchEvent(不明なソース) で java.awt.KeyboardFocusManager.redispatchEvent(不明なソース) で java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(不明なソース) で java.awt.DefaultKeyboardFocusManager.dispatchEvent(ソース不明) java.awt.Component.dispatchEventImpl(ソース不明) java.awt.Container.dispatchEventImpl(ソース不明) java.awt.Component.dispatchEvent(ソース不明) java.awt.EventQueue.dispatchEventImpl(ソース不明) ) java.awt.EventQueue.access$200 (不明なソース) で java.java.security.AccessController.doPrivileged(ネイティブ メソッド) で java.awt.EventQueue$3.run(不明なソース) で awt.EventQueue$3.run(不明なソース) java.security.ProtectionDomain$1.doIntersectionPrivilege(不明なソース) で.security.ProtectionDomain$1.doIntersectionPrivilege(ソース不明) java.awt.EventQueue$4.run(ソース不明) java.awt.EventQueue$4.run(ソース不明) java.security.AccessController.doPrivileged(ネイティブメソッド) java.security.ProtectionDomain$1.doIntersectionPrivilege (不明なソース) で java.awt.EventQueue.dispatchEvent (不明なソース) で java.awt.EventDispatchThread.pumpOneEventForFilters (不明なソース) で java.awt.EventDispatchThread.pumpEventsForFilter(不明なソース) でjava.awt.EventDispatchThread.pumpEventsForHierarchy(不明なソース)java.awt.EventDispatchThread.pumpEvents(不明なソース) java.awt.EventDispatchThread.pumpEvents(不明なソース) java.awt.EventDispatchThread.run(不明なソース)
なぜ理解できないのですか、別の.javaファイルに別のクラスがあり、sql liteデータベースと接続していますが、現時点では呼び出されていません。なぜEclipseはこの間違いをするのですか?!?!! 彼が考えているところから、「最初はorg.mysqlでうまくいきましたが、2番目にorg.sqliteで試してみます」
:|