|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2005
Città: Erba
Messaggi: 146
|
[JAVA] Accesso a DB MySql
Ciao a tutti, stavo sperimentando su come accedere ai dati di un database mysql, quindi grazie al buon google sono riuscito ad ottenere la connessione al database, ad eseguire correttamente una query di inserimento dati, il probleema sta quando vado a fare un select perche quello che mi salta fuori è un po incasinato rispetto ai dati che effettivamente sono nel database e che facendo select dalla console mysql vedo alla perfezione.
Questa è la classe che ho usato per connettermi al database e contiene anche i metodi per eseguire le query: Codice:
import java.sql.*;
import java.util.Vector;
public class Database {
private String nomeDB;
private String nomeUtente;
private String pwdUtente;
private String errore;
private Connection conn;
private boolean connesso;
public Database(String nomeDB, String nomeUtente, String pwdUtente) {
this.nomeDB = nomeDB;
this.nomeUtente = nomeUtente;
this.pwdUtente = pwdUtente;
connesso = false;
errore = "";
}
public boolean connetti(){
connesso = false;
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB + "?user=" + nomeUtente + "&password=" + pwdUtente);
connesso = true;
}catch(Exception e){
errore = e.getMessage();
}
return connesso;
}
public Vector eseguiQuery(String query){
Vector v = null;
String[] record;
int colonne = 0;
try{
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
v = new Vector();
ResultSetMetaData rsmd = rs.getMetaData();
colonne = rsmd.getColumnCount();
while(rs.next()){
record = new String[colonne];
for(int i = 0; i<colonne;i++){
record[i] = rs.getString(i+1);
v.add((String[])record.clone());
}
}
rs.close();
stmt.close();
}catch(Exception e){
e.printStackTrace();
errore = e.getMessage();
}
return v;
}
public boolean esegiuiInserzione(String query){
boolean risultato = false;
int numero = 0;
try{
Statement stmt = conn.createStatement();
risultato = stmt.execute(query);
}catch(Exception e){
e.printStackTrace();
errore = e.toString();
}
return risultato;
}
public String getErrore(){
return errore;
}
}
Codice:
import java.util.Vector;
public class main {
public static void main(String[] args){
Database db = new Database("magazzino", "root", "******");
db.connetti();
for(int j=0;j<30;j++){
String query = "INSERT INTO articoli (campo) VALUES ('Campo" + (j+1) + "');";
db.esegiuiInserzione(query);
}
Vector v = null;
v = db.eseguiQuery("SELECT * FROM articoli;");
int i = 1;
while(i < v.size()){
String[] record = (String[]) v.elementAt(i);
System.out.println("Record numero :" + (i));
for(int j = 0; j<record.length;j++){
System.out.println(record[j]);
}
i++;
}
}
}
dal programma java : Codice:
run: Record numero :1 1 Campo1 Record numero :2 2 null Record numero :3 2 Campo2 Record numero :4 3 null Record numero :5 3 Campo3 Record numero :6 4 null Record numero :7 4 Campo4 Record numero :8 5 null Record numero :9 5 Campo5 Record numero :10 6 null Record numero :11 6 Campo6 Record numero :12 7 null Record numero :13 7 Campo7 Record numero :14 8 null Record numero :15 8 Campo8 Record numero :16 9 null Record numero :17 9 Campo9 Record numero :18 10 null Record numero :19 10 Campo10 Record numero :20 11 null Record numero :21 11 Campo11 Record numero :22 12 null Record numero :23 12 Campo12 Record numero :24 13 null Record numero :25 13 Campo13 Record numero :26 14 null Record numero :27 14 Campo14 Record numero :28 15 null Record numero :29 15 Campo15 Record numero :30 16 null Record numero :31 16 Campo16 Record numero :32 17 null Record numero :33 17 Campo17 Record numero :34 18 null Record numero :35 18 Campo18 Record numero :36 19 null Record numero :37 19 Campo19 Record numero :38 20 null Record numero :39 20 Campo20 Record numero :40 21 null Record numero :41 21 Campo21 Record numero :42 22 null Record numero :43 22 Campo22 Record numero :44 23 null Record numero :45 23 Campo23 Record numero :46 24 null Record numero :47 24 Campo24 Record numero :48 25 null Record numero :49 25 Campo25 Record numero :50 26 null Record numero :51 26 Campo26 Record numero :52 27 null Record numero :53 27 Campo27 Record numero :54 28 null Record numero :55 28 Campo28 Record numero :56 29 null Record numero :57 29 Campo29 Record numero :58 30 null Record numero :59 30 Campo30 BUILD SUCCESSFUL (total time: 2 seconds) Codice:
mysql> select * from articoli; +----+---------+ | id | campo | +----+---------+ | 1 | Campo1 | | 2 | Campo2 | | 3 | Campo3 | | 4 | Campo4 | | 5 | Campo5 | | 6 | Campo6 | | 7 | Campo7 | | 8 | Campo8 | | 9 | Campo9 | | 10 | Campo10 | | 11 | Campo11 | | 12 | Campo12 | | 13 | Campo13 | | 14 | Campo14 | | 15 | Campo15 | | 16 | Campo16 | | 17 | Campo17 | | 18 | Campo18 | | 19 | Campo19 | | 20 | Campo20 | | 21 | Campo21 | | 22 | Campo22 | | 23 | Campo23 | | 24 | Campo24 | | 25 | Campo25 | | 26 | Campo26 | | 27 | Campo27 | | 28 | Campo28 | | 29 | Campo29 | | 30 | Campo30 | +----+---------+ 30 rows in set (0.00 sec) Grassie!!
__________________
-BoB~ |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2005
Città: Erba
Messaggi: 146
|
up??
__________________
-BoB~ |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...sono un po' di fretta...ti posto una classe semplice semplice per l'esecuzione di una query verso un db mysql...dovrebbe essere corretta...
Codice:
public class Test {
public static void main (String[] args){
try{
{
Connection connection;
Statement statement;
ResultSet resultSet;
String userName = "utente";
//salvo in una variabile la password
String password = "password";
//salvo in una variabile l'url di connessione
//driver/locazione del db/vista
String url = "jdbc:mysql://192.168.0.1/miodatabase";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
//ottengo l'oggetto connessione
connection = (Connection) DriverManager.getConnection(url,userName,password);
statement = (Statement) connection.createStatement();
//ottengo il resultset
String query = "SELECT * FROM tabella WHERE idQualcosa = 0 ";
resultSet = (ResultSet) statement.executeQuery(query);
while(resultSet.next())
{
System.out.println(resultSet.getString("idQualcosa"));
}
resultSet.close();
statement.close();
connection.close();
}
}
catch(Exception e){
System.out.println(e);
}
}
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:24.



















