Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-07-2008, 01:00   #1
kinghomer
Senior Member
 
L'Avatar di kinghomer
 
Iscritto dal: Aug 2002
Città: Salerno
Messaggi: 1144
[JAVA]-SQL-Caricare file-DB diversi con un click,come?

Il problema è il seguente:

Mi interfaccio tramite Java ad un file database 'eltafidb' di SQLite nel quale sono contenute due sole tabelle.

La classe che uso per le connessioni è la seguente:

Codice:

import java.sql.*;

public
class ConnectionManager {

   public static Connection getConnection() throws SQLException,ClassNotFoundException {

   String MY_DRIVER = "org.sqlite.JDBC";
   String MY_URL =  "jdbc:sqlite:eltafidb";

   Class.forName(MY_DRIVER);

   Connection temp = DriverManager.getConnection(MY_URL);
   temp.setAutoCommit(true);
   return temp;
   }

}
Ho bisogno di gestire diversi file-DataBase, e di poterli caricare in modo dinamico in run-time. Una specie di:

bottone CARICA DATABASE;

si apre il JFileChooser;

seleziono il file da caricare;

la JTable si riempie e posso fare inserimenti e quant'altro che interessano SOLO quel db caricato.

In questo modo per la classe connessione basta modificare in modo dinamico soltanto MY_URL, e nella fatti specie sostituire "eltafidb" con una nuova stringa che specifica un nuovo file-database con il quale interfacciarsi per inserimenti e quant'altro.

Come si fa tutto ciò?

Tutto è giò pronto e funzionale per un singolo DB statico. Ed ora vorrei capire come rendere il tutto dinamico.
Se avete una soluzione mi postate uno straccio di codice di esempio per favore?
Vi ringrazio in anticipo
kinghomer è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2008, 10:56   #2
gaxy
Junior Member
 
L'Avatar di gaxy
 
Iscritto dal: Feb 2006
Messaggi: 21
Scusa, e se tu mettessi nella classe anche un costruttore con qualche argomento, tipo:

Codice PHP:
import java.sql.*;

public class 
ConnectionManager {
 
  private 
String MY_DRIVERMY_URL;

  public 
ConnectionManager (String _drvString _url) {
       
MY_DRIVER _drv;
       
MY_URL _url;
  }

   public 
Connection getConnection() throws SQLException,ClassNotFoundException {

   Class.
forName(MY_DRIVER);

   
Connection temp DriverManager.getConnection(MY_URL);
   
temp.setAutoCommit(true);
   return 
temp;
   }


Poi ti devi solo ricordare di prevedere un meccanismo di chiusura di ogni connessone (tipo un metodo closeConnection()).

Per la chiamata, alla pressione del tasto istanzi un oggetto ConnectionManager tipo:

Codice PHP:
ConnectionManager conman = new ConnectionManager("org.sqlite.JDBC""jdbc:sqlite:eltafidb");

conman.getConnection();
...
conman.closeConnection(); 
Così potresti scegliere il db in base alla selezione utente... ho capito bene quello che ti serve?
__________________
"Computer Science is no more about computers than astronomy is about telescopes" (Edsger Dijkstra)
gaxy è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2008, 15:17   #3
kinghomer
Senior Member
 
L'Avatar di kinghomer
 
Iscritto dal: Aug 2002
Città: Salerno
Messaggi: 1144
si esatto

si esattamente!
L'unica fregatura è che il metodo getConnection l'ho implementato statico, e quindi dovrei rifare in qualche modo tutte le relative chiamate del getConnection() nelle classi DAO.
Come sempre c'è la fregatura...

Grazie per l'aiuto
kinghomer è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2008, 15:26   #4
gaxy
Junior Member
 
L'Avatar di gaxy
 
Iscritto dal: Feb 2006
Messaggi: 21
Puoi anche lasciar perdere quello che ho scritto prima (mi è venuta un'idea più intelligente ): tieniti il metodo statico e aggiungi i parametri:

Codice PHP:
public static Connection getConnection(String _drvString _urlthrows SQLException,ClassNotFoundException {

   
String MY_DRIVER _drv;
   
String MY_URL _url

   Class.
forName(MY_DRIVER);

   
Connection temp DriverManager.getConnection(MY_URL);
   
temp.setAutoCommit(true);
   return 
temp;
   } 
Poi devi fare un altro metodo statico closeConnection e gli passi come parametro la connessione corrente...

Così non devi rifare quasi nulla!
__________________
"Computer Science is no more about computers than astronomy is about telescopes" (Edsger Dijkstra)
gaxy è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2008, 17:00   #5
kinghomer
Senior Member
 
L'Avatar di kinghomer
 
Iscritto dal: Aug 2002
Città: Salerno
Messaggi: 1144
tardi

Troppo tardi :P !!!
Ho già riscritto tutto in forma non statica. Poco pulito, ma funzionale.
Grazie per l'aiuto :*
kinghomer è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2008, 08:52   #6
gaxy
Junior Member
 
L'Avatar di gaxy
 
Iscritto dal: Feb 2006
Messaggi: 21
Ma prego comunque! Mi spiace che l'altra idea mi è venuta dopo...
__________________
"Computer Science is no more about computers than astronomy is about telescopes" (Edsger Dijkstra)
gaxy è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Le 10 migliori offerte Amazon di Pasqua:...
Nuove fotografie dagli astronauti di Art...
La toilette della capsula Orion Integrit...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v