Newsgroup: it.comp.java
Titolo: Creare un database usando java e poi riaccedervi

Salve a tutti,
ho letto in giro che con java ci si può connettere ai database (di che
genere nn ho ancora ben capito), ma nel mi caso ho bisogno di crearlo
ex novo tramite java, per poi riaccedervi e modificarne alcuni campi.
Tutto questo lo devo fare con java, qualcuno sa orientarmi su cosa
studiare e cercare? Scusatemi se forse non mi sono espressa
correttamente ma sono inesperiente con questo linguaggio.
Grazie

 Dovresti spiegarti meglio, soprattutto indicare cosa vuoi di preciso.
ci provo...
Sto scrivendo un programma in java, e ho dei dati memorizzati in degli
arrray e devo creare qualcosa del tipo:
id      a1     a2   a3    status
1       num   num   num   done
2       num   num   num   to do
...
200   num   num   num   to do
l'unica cosa che deve cambiare  è l'ultima colonna (ogni colonna è un
array) a seconda che il mio programma abbia fatto certi calcoli oppure
no.  Quindi devo poter accedere a questa sorta di "tabella"memorizzata
in un file (che a questo punto dovrebbe essere il mio database credo),
leggerne i varii campi, e a seconda dei casi cambiare l'ultimo punto.
Ma la "tabella" non è ancora stata creata, quindi devo farlo tramite
java (non ho idea di come) e poi dallo stesso programma caricarla e
updatarla.  Inoltre, se ad un certo punto mi sono fermata nel far
girare il programma, ad es a id=200(un contatore insomma), devo poter
capire che sono arrivata a questo punto e aggiungere altri dati dopo.
Mi sapete dare degli indizi da cui partire? E' il caso di creare un
file di Log che memorizzi a che id mi trovo ?  Qualcuno ha idea da dove
protrei cominciare? Dire che sono "bianca" con java è poco, ma lo devo
fare per la tesi.
Spero di essere stata più chiara, ringrazio sentitamente chi mi
vorrrà aiutare

 leggerne i varii campi, e a seconda dei casi cambiare l'ultimo punto.
[...cut...]
Se è una cosa semplice e veloce e i "num" sono qualcosa di facilmente
estraibile da un file di testo, puoi usare un oggetto
java.util.Properties e salvarlo e leggerlo con save() e load()
Ciao.

 java.util.Properties e salvarlo e leggerlo con save() e load()
sono dei double, e non sono tutti uguali, ogni campo cambia rispetto
all'altro

Salviti i dati su disco e poi te li rileggi:
Ti mando 2 metodi di esempio:
	public static void salvaOggetti(String nome, Object[] oggetti) {
		FileOutputStream fos = null;
		ObjectOutputStream oos = null;
		try {
			fos = new FileOutputStream("C:Tuofile.txt");
			oos = new ObjectOutputStream(fos);
			oos.writeObject(oggetti);
			oos.flush();
			oos.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	public static Object[] leggiOggetti(String nome) {
		FileInputStream fis = null;
		ObjectInputStream ois = null;
		try {
			fis = new FileInputStream("C:Tuofile.txt");
			ois = new ObjectInputStream(fis);
			Object[] parm = (Object[]) ois.readObject();
			return parm;
		} catch (FileNotFoundException e) {
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		return null;
	}

 Salviti i dati su disco e poi te li rileggi:
Grazie per i metodi ma mi viene un dubbio... siccome potrei arrivare ad
avere id=milione(e anche più), non diventa impossibile creare un file
di test, che poi devo riaprire, rileggere e eventualmente sovrascrivere
solo il campo staus (e non saprei come)? per questo chiedevo se è
meglio creare un database, ma ho letto che con java si può solo
accedere ai database e non crearli... ho letto male?

 accedere ai database e non crearli... ho letto male?
Credo che tu abbia letto male :)
Ti consiglio HSQLDB.
-- 
Giambo - Occhio al filtro antispam _e_ alla whitelist !


Meglio così, mi sembrava assurdo che un linguaggio come java non
potesse fare anche questo...
Spero solo che ciò che mi hai consigliato sia applicabile al mio
problema e mi permetta di risolverlo (non ho ancora idea di come)...
saluti

 problema e mi permetta di risolverlo (non ho ancora idea di come)...
Quando fai partire la tua applicazioni puoi provare a collegarti a un 
database HSQLB "In-Process (Standalone)". Controlli se le tabelle sono 
gia' esistenti e se non lo fossero le crei.
Poi puoi prodedere normalmente leggendo/scrivendo i dati.
Alla fine ricordati di usare correttamente SHUTDOWN per rendere i dati 
persistenti.
Se invece i dati non devono essere persistenti (?), allora puoi usare 
HSQLDB come "Memory-Only Databases".
http://www.hsqldb.org/doc/guide/ch01.html#N101A8



non credo che questo mi serva, perchè i dati li devo memorizzare
nell'HD, ma buono a sapersi!
Grazie mille e un bacione!!!

 Grazie mille e un bacione!!!
Un cosa ?
Ah, ma sei dell'altro sesso ! Non mi ci abituero' mai ;) ...
