Sono alle prime armi con la gestione dei database, per cui vi chiedo di munirvi di molta pazienza, visti i miei numerosi dubbi
1)
Innanzitutto, io ho creato un database mySQL andando su http://127.0.0.1/myadmin3525/ (precedentemente ho fatto tutti i passaggi seguendo una guida), ho creato all'interno la tabella e l'ho esportata in un file chiamato Pizzeria.sql
Ora, per poterlo utilizzare, mi basta inserirlo nella cartella del progetto, giusto?
codie Pizzeria.sql
codice:
-- phpMyAdmin SQL Dump
-- version 4.0.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generato il: Mag 16, 2013 alle 19:40
-- Versione del server: 5.6.11
-- Versione PHP: 5.3.15
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `Pizzeria`
--
-- --------------------------------------------------------
--
-- Struttura della tabella `Prodotti`
--
CREATE TABLE IF NOT EXISTS `Prodotti` (
`Codice` char(5) NOT NULL,
`NomePizza` char(50) NOT NULL,
`Categoria` char(50) NOT NULL,
`Ingredienti` char(100) NOT NULL,
`Prezzo` double NOT NULL,
PRIMARY KEY (`Codice`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Prodotti della Pizzeria: 01 Pizze; 02 Bevande;';
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
2)
Ora devo utilizzare questo database da un programma java.
Dopo aver creato la classe, ho utilizzato questo codice per CONNETTERE il programma java al database e per INSERIRE dati al suo interno, ma ho due dubbi:
codice:
private void btnSalva(java.awt.event.ActionEvent evt) {
String categoriaPizza = cbxCategoria.getModel().getSelectedItem().toString();
String nomePizza = txtNome.getText().toString();
String ingredientiPizza = txaIngredienti.getText().toString();
String prezzoPizza = txtPrezzo.getText().toString(); // --- modificare sctringa in float: float prezzoPizza = Float.parseFloat(txtPrezzo.getText().toString());
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //si carica il driver
} catch (ClassNotFoundException exc) {
System.out.println("ERRORE, Driver jdbc non presente: "+exc.getMessage());
}
JOptionPane.showMessageDialog(null,"Accesso al database MySQL effettuato!");
Connection connection = null;
try {
Connection con = DriverManager.getConnection("jdbc:odbc://10.0.254.232, nomeuser, pass");
con.setAutoCommit(false);
/* con questa istruzione si fa in modo che il commit avvenga solo se esplicitamente invocato dall'utente*/
con.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
Statement dati = con.createStatement();// si crea un oggetto Statement
String insert = "";
// if(categoriaPizza != "- Scegli categoria -" || nomePizza != "" || ingredientiPizza != "" || prezzoPizza != "") {
insert = "INSERT INTO Prodotti VALUES ('"+categoriaPizza+"', '"+nomePizza+"', '"+ingredientiPizza+ "', '"+ prezzoPizza + "')";
//} else {
//JOptionPane.showMessageDialog(null,"Non hai inserito pizza.");
//}
Prodotti .executeUpdate(insert);// si esegue l'operazione di insert
con.commit();// si effettua il commit
Prodotticlose();// si chiude lo Statement Tabella
con.setAutoCommit(true);// si ripristina l'autocommit
con.close();//si chiude la connessione
} catch (SQLException exc1) {
System.out.println("Errore nell'inserimento dei dati "+exc1.getMessage());
}
}
- in ROSSO: come devo modificare gli attributi per l'accesso al database? devo utilizzare i dati che utilizzo per accedere a 127.0.0.1/myadmin3525?
- in BLU: in queste due righe mi dice praticamente di creare la classe Prodotti, ovvero le dovrebbe vedere o non vedere come variabili..probabilmente..
Qualcuno riesce ad aiutarmi in questi due punti?
Grazie per la pazienza!